<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: Algorithms.cs Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_algorithms_8cs_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Algorithms.cs</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_algorithms_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using</span> System.Collections;</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">using</span> System.Collections.Generic;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">using</span> System.Diagnostics.Contracts;</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">using</span> System.Linq;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">using</span> System.Reflection;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">using</span> System.Text;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">using</span> SystemSharp.Algebraic;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">using</span> SystemSharp.Components;</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">using</span> SystemSharp.Meta;</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">using</span> SystemSharp.SysDOM.Transformations;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="namespace_system_sharp_1_1_sys_d_o_m.html">   32</a></span>&#160;<span class="keyword">namespace </span>SystemSharp.SysDOM</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">   37</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    {</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordtype">void</span> AcceptCompoundStatement(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt);</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keywordtype">void</span> AcceptLoopBlock(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt);</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordtype">void</span> AcceptBreakLoop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt);</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordtype">void</span> AcceptContinueLoop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt);</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keywordtype">void</span> AcceptIf(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt);</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keywordtype">void</span> AcceptCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt);</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keywordtype">void</span> AcceptStore(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt);</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keywordtype">void</span> AcceptNop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt);</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keywordtype">void</span> AcceptSolve(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt);</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordtype">void</span> AcceptBreakCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt);</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keywordtype">void</span> AcceptGotoCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt);</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordtype">void</span> AcceptGoto(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt);</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keywordtype">void</span> AcceptReturn(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt);</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordtype">void</span> AcceptThrow(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt);</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <span class="keywordtype">void</span> AcceptCall(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt);</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    }</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">   59</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a>: <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_attributed_object.html">AttributedObject</a></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    {</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">internal</span> <span class="keyword">class </span>CloneContext</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        {</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            Dictionary&lt;Statement, Statement&gt; _map = <span class="keyword">new</span> Dictionary&lt;Statement,Statement&gt;();</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            <span class="keyword">public</span> Action Complete { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            <span class="keyword">public</span> CloneContext()</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;            }</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> Map(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> oldStmt, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> newStmt)</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            {</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                _map[oldStmt] = newStmt;</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            }</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Map(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt)</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            {</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> result;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                <span class="keywordflow">if</span> (!_map.TryGetValue(stmt, out result))</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                    result = stmt;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            }</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        }</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">public</span> delegate <span class="keywordtype">bool</span> EliminationPredicateFunc();</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keywordtype">void</span> Accept(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#aae93f24b4a3a31714bd371ef37247c97">   96</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Successor { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8e3e27c55d9571ab568d88833ef5ba2c">  101</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> ProgramCounter { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a4d63666a1e2e8bbe4511926fc92c9325">  106</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">string</span> Label { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a03333ff9b1c59a4b72a7d559c8cefd57">  112</a></span>&#160;        <span class="keyword">public</span> EliminationPredicateFunc EliminationPredicate { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#abe785821f6a2437714771317d9ff306c">  117</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">string</span> Comment { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a5a1fc2f91b61a3980e66f4fd3500d89a">  123</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a5a1fc2f91b61a3980e66f4fd3500d89a">AcceptIfEnabled</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        {</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;            <span class="keywordflow">if</span> (!IsEliminated)</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                Accept(visitor);</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        }</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> IsEliminated</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac9436376dbc26093364efcdc0afed6be">  133</a></span>&#160;        {</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> EliminationPredicate(); }</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        }</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8e6691bd09dcc1236b7eb8d59bc2ad75">  140</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8e6691bd09dcc1236b7eb8d59bc2ad75">Statement</a>()</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            EliminationPredicate = () =&gt; <span class="keyword">false</span>;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        }</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Clone</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#afb0680df0429c1a4a22bffd891e91efa">  149</a></span>&#160;        {</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            <span class="keyword">get</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            {</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                CloneContext ctx = <span class="keyword">new</span> CloneContext();</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> result = CloneInternal(ctx);</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                <span class="keywordflow">if</span> (ctx.Complete != null)</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                    ctx.Complete();</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;            }</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        }</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keyword">internal</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> GetClone(CloneContext ctx)</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        {</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> clone = CloneInternal(ctx);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;            ctx.Map(<span class="keyword">this</span>, clone);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;            clone.Label = Label;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;            clone.CopyAttributesFrom(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            <span class="keywordflow">return</span> clone;</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        }</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keyword">internal</span> <span class="keyword">abstract</span> Statement CloneInternal(CloneContext ctx);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#accbf7d7b0dee7912614e1518cc0f501c">  171</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#accbf7d7b0dee7912614e1518cc0f501c">ToString</a>()</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        {</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;            StringBuilder sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;            ToString(0, sb);</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;            <span class="keywordflow">return</span> sb.ToString();</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        }</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#acfdd998536c3577a01416a828ad47fc5">  183</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#acfdd998536c3577a01416a828ad47fc5">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        {</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;            <span class="keywordflow">if</span> (Label != null)</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                sb.AppendLine(Label + <span class="stringliteral">&quot;:&quot;</span>);</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        }</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8ae329906dc073e784e42168a0814987">  193</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8ae329906dc073e784e42168a0814987">AppendAttributes</a>(StringBuilder sb)</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        {</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;            <span class="keywordflow">if</span> (Attributes.Any())</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            {</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                sb.Append(<span class="stringliteral">&quot; {&quot;</span>);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                sb.Append(string.Join(<span class="stringliteral">&quot;, &quot;</span>, Attributes));</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                sb.Append(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            }</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        }</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a57f590194f791a4661e2e72220a51831">  208</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a57f590194f791a4661e2e72220a51831">Indent</a>(<span class="keywordtype">int</span> n, StringBuilder sb)</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        {</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++)</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                sb.Append(<span class="stringliteral">&quot;  &quot;</span>);</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        }</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a2c838b9012de73a7daf18904d5fbf4af">  217</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a2c838b9012de73a7daf18904d5fbf4af">CheckConsistency</a>()</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        {</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;            Accept(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html">StatementConsistencyChecker</a>());</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        }</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac118d5722f22e592ded4954db32ae99d">  227</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac118d5722f22e592ded4954db32ae99d">ReplaceExpressions</a>(</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html#ae0af2e8127f24d85216108cf9747643f">MatchFunction</a> matchFn,</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_sys_d_o_m.html#a55f18bc7b5ffbb11145b22118dbac279">ExpressionGenerator</a> exprGen)</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        {</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;            Accept(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html">StmtExpressionSubstitution</a>()</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;            {</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                MatchFn = matchFn,</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                ExprGen = exprGen</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;            });</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        }</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html">  242</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html">ScopedStatement</a>: <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    {</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html#a784dc7424dee4223528f74692051ee51">  244</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html#a784dc7424dee4223528f74692051ee51">ScopedStatement</a>()</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        {</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;            Locals = <span class="keyword">new</span> List&lt;IStorableLiteral&gt;();</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        }</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html#a5597632fa779f9917de2f3af3c783423">  249</a></span>&#160;        <span class="keyword">public</span> List&lt;IStorableLiteral&gt; Locals { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    }</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    [Obsolete(<span class="stringliteral">&quot;part of an out-dated concept&quot;</span>)]</div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_meta_statement.html">  253</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_meta_statement.html">MetaStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a></div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    {</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    }</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">  260</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html">ScopedStatement</a></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    {</div>
<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a72013d512d425bd02682ee125475434f">  265</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a72013d512d425bd02682ee125475434f">CompoundStatement</a>()</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        {</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            Statements = <span class="keyword">new</span> List&lt;Statement&gt;();</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        }</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">  273</a></span>&#160;        <span class="keyword">public</span> List&lt;Statement&gt; Statements { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a5fd05900c1a1b719661643226b46f488">  275</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a5fd05900c1a1b719661643226b46f488">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        {</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            visitor.AcceptCompoundStatement(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        }</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a9e8f1f7fc730afec94e650970b8a4086">  280</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a9e8f1f7fc730afec94e650970b8a4086">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        {</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;            sb.Append(<span class="stringliteral">&quot;{&quot;</span>);</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt <span class="keywordflow">in</span> Statements)</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            {</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                stmt.ToString(indent + 1, sb);</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;            }</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;            sb.Append(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        }</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        {</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> clone = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;            ctx.Map(<span class="keyword">this</span>, clone);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt <span class="keywordflow">in</span> Statements)</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;            {</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                <span class="keywordflow">if</span> (!stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac9436376dbc26093364efcdc0afed6be">IsEliminated</a>)</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                    clone.Statements.Add(stmt.GetClone(ctx));</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            }</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            <span class="keywordflow">return</span> clone;</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    }</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">  315</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html">ScopedStatement</a></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    {</div>
<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#ae69eaa94bcba73ca0d6e1c25c6590ba1">  323</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> HeadCondition { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#ade0f432b190b57e93b39c063cdedc9d7">  331</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> TailCondition { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#ab6a1bdb097c141fd2c2a060db5d9ae79">  339</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> Initializer { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#aacd2c38cfe0f95f392be1f46496aa76e">  347</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Trailer { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#ae38a280525e5be2fa221cb436b030e91">  355</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> Step { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a5134a4f6fad2bd884624976983cfa6a7">  360</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> CounterVariable { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#aca60f433977f198add055cb10d53945b">  365</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> CounterStart { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a4d0300e03798b0fa9884e8a9d2f2592f">  370</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> CounterStop { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abee4368c7c2832caad48c263a3f4ec70">  372</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abee4368c7c2832caad48c263a3f4ec70">ELimitKind</a></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        {</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;            IncludingStopValue,</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;            ExcludingStopValue</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        }</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#aaf632243510ef6e44e926b3e2316df5a">  388</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abee4368c7c2832caad48c263a3f4ec70">ELimitKind</a> CounterLimitKind { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#af7629840128bce350f4cd2d6037bdd32">  393</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> CounterStep { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a6f71f39f6e3e0dc0f30996e6e6e6f87a">  395</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a6f71f39f6e3e0dc0f30996e6e6e6f87a">ECounterDirection</a></div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        {</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;            Increment,</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;            Decrement,</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;            IncrementOne,</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;            DecrementOne</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        }</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a6a2925a18464b80d142cc062aa5e1e83">  406</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a6f71f39f6e3e0dc0f30996e6e6e6f87a">ECounterDirection</a> CounterDirection { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a202cb097aa4816e49cac4be32c6fe146">  411</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Body { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abce80be28bb0076f57d724b2d8d54fcf">  413</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abce80be28bb0076f57d724b2d8d54fcf">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        {</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;            visitor.AcceptLoopBlock(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        }</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a8c1a688ed7b08d4d43b801ce41914df7">  418</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a8c1a688ed7b08d4d43b801ce41914df7">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        {</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;            <span class="keywordflow">if</span> (Initializer != null)</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;            {</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                sb.Append(<span class="stringliteral">&quot;FOR &quot;</span>);</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                sb.Append(Initializer.ToString());</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                sb.Append(<span class="stringliteral">&quot;; &quot;</span>);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                sb.Append(HeadCondition.ToString());</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                sb.Append(<span class="stringliteral">&quot;; &quot;</span>);</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                sb.Append(Step);</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                sb.Append(<span class="stringliteral">&quot; {&quot;</span>);</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;            }</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (HeadCondition != null)</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;            {</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                sb.Append(<span class="stringliteral">&quot;WHILE &quot;</span>);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;                sb.Append(HeadCondition.ToString());</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                sb.Append(<span class="stringliteral">&quot; {&quot;</span>);</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;            }</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;            {</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                sb.Append(<span class="stringliteral">&quot;LOOP {&quot;</span>);</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;            }</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;            Body.ToString(indent+1, sb);</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;            <span class="keywordflow">if</span> (Trailer != null)</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;            {</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                sb.Append(Trailer.ToString());</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;            }</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        }</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        {</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a>();</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;            ctx.Map(<span class="keyword">this</span>, loop);</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;            loop.Body = Body.GetClone(ctx);</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;            <span class="keywordflow">return</span> loop;</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        }</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    }</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">  465</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SimpleStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a></div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    {</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    }</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">  472</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SimpleStatement</a></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    {</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    }</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div>
<div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html">  479</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html">LoopControlStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    {</div>
<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html#a4d1b71393feccac3f5fe5913440ef798">  484</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> Loop { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    }</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">  490</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html">LoopControlStatement</a></div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    {</div>
<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a0d69a9a0965252712d0ba2d876921558">  492</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a0d69a9a0965252712d0ba2d876921558">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        {</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;            visitor.AcceptBreakLoop(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        }</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a23920faa6b5d89648d14500d41c98839">  497</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a23920faa6b5d89648d14500d41c98839">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        {</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;            <span class="keywordtype">string</span> label = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;            <span class="keywordflow">if</span> (Loop == null)</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;                label = <span class="stringliteral">&quot; ???&quot;</span>;</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Loop.Label != null)</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                label = <span class="stringliteral">&quot; &quot;</span> + Loop.Label;</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;            sb.Append(<span class="stringliteral">&quot;BREAK&quot;</span> + label);</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        }</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        {</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a>()</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;            {</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                Loop = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a>)ctx.Map(Loop)</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;            };</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        }</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;</div>
<div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#aefd0a1c7ce9af49dc7558336a9472315">  519</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#aefd0a1c7ce9af49dc7558336a9472315">Equals</a>(<span class="keywordtype">object</span> obj)</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        {</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;            <span class="keywordflow">if</span> (obj is <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a>)</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;            {</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;                BreakLoopStatement other = (BreakLoopStatement)obj;</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;                <span class="keywordflow">return</span> other.Loop == Loop;</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;            }</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;            {</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;            }</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        }</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    }</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">  536</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html">LoopControlStatement</a></div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    {</div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a788ff2355f2855c3cb970035ca6ff7d4">  538</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a788ff2355f2855c3cb970035ca6ff7d4">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        {</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;            visitor.AcceptContinueLoop(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        }</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a9d72d7f3347d719629ae14c274e28112">  543</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a9d72d7f3347d719629ae14c274e28112">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        {</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;            <span class="keywordtype">string</span> label = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;            <span class="keywordflow">if</span> (Loop == null)</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;                label = <span class="stringliteral">&quot; ???&quot;</span>;</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Loop.Label != null)</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;                label = <span class="stringliteral">&quot; &quot;</span> + Loop.Label;</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;            sb.Append(<span class="stringliteral">&quot;CONTINUE&quot;</span> + label);</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        }</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        {</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a>()</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;            {</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;                Loop = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a>)ctx.Map(Loop)</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;            };</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        }</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;</div>
<div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a1eaeaaf86946c050ddc6d5e16df7f316">  565</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a1eaeaaf86946c050ddc6d5e16df7f316">Equals</a>(<span class="keywordtype">object</span> obj)</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        {</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;            <span class="keywordflow">if</span> (obj is <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a>)</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;            {</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;                ContinueLoopStatement other = (ContinueLoopStatement)obj;</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;                <span class="keywordflow">return</span> other.Loop == Loop;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;            }</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;            {</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;            }</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        }</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    }</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;</div>
<div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">  582</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    {</div>
<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#a92c07ca1de0a1cd13510b2ac365978b8">  587</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> CaseStmt { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div>
<div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#adaee1d7b9e95a48ed8e3185d86a7c571">  589</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#adaee1d7b9e95a48ed8e3185d86a7c571">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        {</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            visitor.AcceptBreakCase(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;        }</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;</div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#a717b6e4f10c25103ffa8505b76190ac1">  594</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#a717b6e4f10c25103ffa8505b76190ac1">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;        {</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;            sb.Append(<span class="stringliteral">&quot;BREAK CASE&quot;</span>);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;        }</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        {</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a>()</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            {</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;                CaseStmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>)ctx.Map(CaseStmt)</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            };</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        }</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    }</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div>
<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">  615</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    {</div>
<div class="line"><a name="l00620"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#a09146b411d6437d73a8616fb50898b28">  620</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> CaseStmt { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;</div>
<div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#a9ac790ea9320c80fa043b5263085bd66">  625</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">int</span> TargetIndex { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;</div>
<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#aa0240360689cc17b25d713a7d2547db1">  627</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#aa0240360689cc17b25d713a7d2547db1">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        {</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;            visitor.AcceptGotoCase(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        }</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;</div>
<div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#a571e9f93bfe62a08527f7ecfd5a003fe">  632</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#a571e9f93bfe62a08527f7ecfd5a003fe">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        {</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            <span class="keywordflow">if</span> (TargetIndex == CaseStmt.Cases.Count)</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;                sb.Append(<span class="stringliteral">&quot;GOTO DEFAULT CASE&quot;</span>);</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;                sb.Append(<span class="stringliteral">&quot;GOTO CASE &quot;</span> + CaseStmt.Cases[TargetIndex].ToString());</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        }</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;        {</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a>()</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            {</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                CaseStmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>)ctx.Map(CaseStmt),</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                TargetIndex = this.TargetIndex</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            };</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        }</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    }</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div>
<div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">  657</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    {</div>
<div class="line"><a name="l00662"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a932a4a915481e2e45c3d5385ece70928">  662</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Target { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div>
<div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#aa8a96f69f05ffebcc813a6ca241a3993">  664</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#aa8a96f69f05ffebcc813a6ca241a3993">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        {</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;            visitor.AcceptGoto(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        }</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
<div class="line"><a name="l00669"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a89d245327cc9356ebf381037c2aae124">  669</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a89d245327cc9356ebf381037c2aae124">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        {</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;            <span class="keywordflow">if</span> (Target == null)</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;                sb.Append(<span class="stringliteral">&quot;GOTO ???&quot;</span>);</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;                sb.Append(<span class="stringliteral">&quot;GOTO &quot;</span> + Target.Label);</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        }</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        {</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> result = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a>();</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;            <span class="keywordflow">if</span> (Target != null)</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;                ctx.Complete += () =&gt; result.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a932a4a915481e2e45c3d5385ece70928">Target</a> = ctx.Map(Target);</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        }</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    }</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div>
<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">  693</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a>: <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    {</div>
<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#a08c866cc76f1e334e687b6b54eb0d5b6">  698</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> ReturnValue { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;</div>
<div class="line"><a name="l00700"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ac76878cfa3f83e9df807fe3ace3cf7a1">  700</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ac76878cfa3f83e9df807fe3ace3cf7a1">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        {</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            sb.Append(<span class="stringliteral">&quot;RETURN&quot;</span>);</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;            <span class="keywordflow">if</span> (ReturnValue != null)</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;                sb.Append(<span class="stringliteral">&quot; &quot;</span> + ReturnValue.ToString());</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        }</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        {</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        }</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div>
<div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ad9de856f7a9845d5539d4fb7269b0f09">  716</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ad9de856f7a9845d5539d4fb7269b0f09">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        {</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;            visitor.AcceptReturn(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;        }</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    }</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div>
<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">  725</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">BranchStatement</a></div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    {</div>
<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#aad713ccd1af5b3f3be7732f9d55ea176">  730</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> ThrowExpr { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;</div>
<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a2bab6c44a11e4ed9b39bb3e37e37cf0e">  732</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a2bab6c44a11e4ed9b39bb3e37e37cf0e">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;        {</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;            sb.Append(<span class="stringliteral">&quot;THROW &quot;</span> + ThrowExpr.ToString());</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;        }</div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        {</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a>()</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;            {</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;                ThrowExpr = this.ThrowExpr</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            };</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;        }</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;</div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a95feddb1345715f5e22380ebe6c58553">  749</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a95feddb1345715f5e22380ebe6c58553">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        {</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;            visitor.AcceptThrow(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        }</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    }</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;</div>
<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">  758</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SimpleStatement</a></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    {</div>
<div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a23e5834ea9bc8e347b83d9e2ed001034">  763</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable.html">ICallable</a> Callee { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;</div>
<div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">  768</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] Arguments { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;</div>
<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#aa5a444be7cb8e3756e2c62ab88ea4a07">  770</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#aa5a444be7cb8e3756e2c62ab88ea4a07">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        {</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;            sb.Append(<span class="stringliteral">&quot;CALL &quot;</span> + Callee.ToString() + <span class="stringliteral">&quot;(&quot;</span>);</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; Arguments.Length; i++)</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;            {</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;                <span class="keywordflow">if</span> (i &gt; 0)</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                    sb.Append(<span class="stringliteral">&quot;, &quot;</span>);</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;                sb.Append(Arguments[i].ToString());</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;            }</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;            sb.Append(<span class="stringliteral">&quot;)&quot;</span>);</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        }</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        {</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a>()</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;            {</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                Callee = this.Callee,</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;                Arguments = this.Arguments</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            };</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        }</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div>
<div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#af90273eec6cb87b049e98669e4eb6756">  795</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#af90273eec6cb87b049e98669e4eb6756">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        {</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;            visitor.AcceptCall(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        }</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;    }</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;</div>
<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">  804</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a></div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    {</div>
<div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a74dca8902ade74c878024bf8533085cf">  809</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a74dca8902ade74c878024bf8533085cf">IfStatement</a>()</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        {</div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;            Conditions = <span class="keyword">new</span> List&lt;Expression&gt;();</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;            Branches = <span class="keyword">new</span> List&lt;Statement&gt;();</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;        }</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;</div>
<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#ada8e3f19627375431400ad9d7b85a4bb">  818</a></span>&#160;        <span class="keyword">public</span> List&lt;Expression&gt; Conditions { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div>
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#ab21ebf237d5dbd34adf2d817ebf2c737">  827</a></span>&#160;        <span class="keyword">public</span> List&lt;Statement&gt; Branches { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;</div>
<div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a92147769da1cc0190c4311828d40b336">  829</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a92147769da1cc0190c4311828d40b336">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        {</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;            visitor.AcceptIf(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;        }</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;</div>
<div class="line"><a name="l00834"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a27b5278c06d37b03a19e36609b9ec5e3">  834</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a27b5278c06d37b03a19e36609b9ec5e3">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;        {</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; Conditions.Count; i++)</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;            {</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond = Conditions[i];</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> branch = Branches[i];</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;                Indent(indent, sb);</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;                <span class="keywordflow">if</span> (i == 0)</div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;                    sb.Append(<span class="stringliteral">&quot;IF&quot;</span>);</div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;                    sb.Append(<span class="stringliteral">&quot;ELSIF&quot;</span>);</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;                sb.Append(<span class="stringliteral">&quot; (&quot;</span> + cond.ToString() + <span class="stringliteral">&quot;)&quot;</span>);</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;                AppendAttributes(sb);</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                sb.AppendLine();</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;                branch.ToString(indent + 1, sb);</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;            }</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;            <span class="keywordflow">if</span> (Branches.Count &gt; Conditions.Count)</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;            {</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;                Indent(indent, sb);</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;                sb.AppendLine(<span class="stringliteral">&quot;ELSE&quot;</span>);</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;                Branches.Last().ToString(indent + 1, sb);</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;            }</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;        }</div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        {</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> clone = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>();</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;            ctx.Map(<span class="keyword">this</span>, clone);</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> e <span class="keywordflow">in</span> Conditions)</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;                clone.Conditions.Add(e);</div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> b <span class="keywordflow">in</span> Branches)</div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;                clone.Branches.Add(b.GetClone(ctx));</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;            <span class="keywordflow">return</span> clone;</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;        }</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;    }</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;</div>
<div class="line"><a name="l00874"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">  874</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a></div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    {</div>
<div class="line"><a name="l00879"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a02752a9fa834a18a9f737cca5598ad93">  879</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a02752a9fa834a18a9f737cca5598ad93">CaseStatement</a>()</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        {</div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;            Cases = <span class="keyword">new</span> List&lt;Expression&gt;();</div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;            Branches = <span class="keyword">new</span> List&lt;Statement&gt;();</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;        }</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;</div>
<div class="line"><a name="l00888"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#ad6d3bb5a5e3702b0516ba6350429d817">  888</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> Selector { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div>
<div class="line"><a name="l00893"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3477d068c7a2ee6227650cd3e452e440">  893</a></span>&#160;        <span class="keyword">public</span> List&lt;Expression&gt; Cases { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;</div>
<div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3defade69c693c003ba9e4a2ca910334">  903</a></span>&#160;        <span class="keyword">public</span> List&lt;Statement&gt; Branches { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div>
<div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a040311646b4446c98a91436f959f4014">  905</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a040311646b4446c98a91436f959f4014">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;        {</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;            visitor.AcceptCase(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;        }</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;</div>
<div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3e0311c2192d531acd252870b90971a4">  910</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3e0311c2192d531acd252870b90971a4">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;        {</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;            sb.Append(<span class="stringliteral">&quot;SELECT CASE (&quot;</span> + Selector + <span class="stringliteral">&quot;)&quot;</span>);</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;{&quot;</span>);</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; Cases.Count; i++)</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;            {</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond = Cases[i];</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> branch = Branches[i];</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;                Indent(indent + 1, sb);</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;                sb.AppendLine(<span class="stringliteral">&quot;CASE &quot;</span> + cond + <span class="stringliteral">&quot;:&quot;</span>);</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;                branch.ToString(indent + 2, sb);</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;            }</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;            <span class="keywordflow">if</span> (Branches.Count &gt; Cases.Count)</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;            {</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;                Indent(indent + 1, sb);</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;                sb.AppendLine(<span class="stringliteral">&quot;DEFAULT:&quot;</span>);</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;                Branches.Last().ToString(indent + 2, sb);</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;            }</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;        }</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;        {</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> clone = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>()</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            {</div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;                Selector = this.Selector</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;            };</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;            ctx.Map(<span class="keyword">this</span>, clone);</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;            <span class="keywordflow">foreach</span> (Expression e <span class="keywordflow">in</span> Cases)</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                clone.Cases.Add(e);</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;            <span class="keywordflow">foreach</span> (Statement b <span class="keywordflow">in</span> Branches)</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;                clone.Branches.Add(b.GetClone(ctx));</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;            <span class="keywordflow">return</span> clone;</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        }</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
<div class="line"><a name="l00956"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3eb89c5cfe83bd657de64bd7ec1f6279">  956</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3eb89c5cfe83bd657de64bd7ec1f6279">ConvertToIfStatement</a>()</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        {</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;            List&lt;Expression&gt; conds = <span class="keyword">new</span> List&lt;Expression&gt;();</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> caseExpr <span class="keywordflow">in</span> Cases)</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;            {</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond = Expression.Equal(Selector, caseExpr);</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                conds.Add(cond);</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;            }</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> result = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>();</div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;            result.Conditions.AddRange(conds);</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;            result.Branches.AddRange(Branches);</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;            <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        }</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    }</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    [Obsolete(<span class="stringliteral">&quot;part of an out-dated concept&quot;</span>)]</div>
<div class="line"><a name="l00972"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">  972</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_meta_statement.html">MetaStatement</a></div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;    {</div>
<div class="line"><a name="l00974"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#a57f9a613006e5635a0ac818c740fbd60">  974</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> EqSys { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;</div>
<div class="line"><a name="l00976"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#a678848b5066b6fd25f45481ee8543f47">  976</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#a678848b5066b6fd25f45481ee8543f47">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;        {</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;            sb.Append(<span class="stringliteral">&quot;SOLVE (dim =&quot;</span> + EqSys.Variables.Count + <span class="stringliteral">&quot;)&quot;</span>);</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;            Indent(indent + 1, sb);</div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;            sb.Append(<span class="stringliteral">&quot;Unknowns: &quot;</span>);</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; EqSys.Variables.Count; i++)</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;            {</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;                <span class="keywordflow">if</span> (i &gt; 0)</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;                    sb.Append(<span class="stringliteral">&quot;, &quot;</span>);</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;                sb.Append(EqSys.Variables[i]);</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;            }</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;            Indent(indent+1, sb);</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;Equations:&quot;</span>);</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; EqSys.Equations.Count; i++)</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;            {</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;                Indent(indent + 2, sb);</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;                sb.AppendLine(EqSys.Equations[i].ToString());</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;            }</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;        }</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div>
<div class="line"><a name="l01001"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#af87ba35d6ffab9b145f660f6b1816474"> 1001</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#af87ba35d6ffab9b145f660f6b1816474">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;        {</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;            visitor.AcceptSolve(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;        }</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;        {</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a>()</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;            {</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;                EqSys = this.EqSys</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;            };</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;        }</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    }</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;</div>
<div class="line"><a name="l01018"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html"> 1018</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a>: <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SimpleStatement</a></div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;    {</div>
<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a0a1ae5400674e68848d8df3737ff06c6"> 1023</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> Container { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;</div>
<div class="line"><a name="l01028"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a7b56e89958be5b709b65a9db38fc0258"> 1028</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> Value { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
<div class="line"><a name="l01030"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a82792609a4ca386bde6b6d7f9a3bed4a"> 1030</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a82792609a4ca386bde6b6d7f9a3bed4a">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;        {</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;            visitor.AcceptStore(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;        }</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div>
<div class="line"><a name="l01035"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a6043c02b6fdc7617b72481a4ece92f5d"> 1035</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a6043c02b6fdc7617b72481a4ece92f5d">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;        {</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;            <span class="keywordtype">string</span> starget = Container.ToString();</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;            sb.Append(starget + <span class="stringliteral">&quot; := &quot;</span> + Value.ToString());</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        }</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        {</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a>()</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;            {</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;                Container = this.Container,</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;                Value = this.Value</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;            };</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;        }</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;    }</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div>
<div class="line"><a name="l01058"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html"> 1058</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SimpleStatement</a></div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;    {</div>
<div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a0afa7ccc198c728d79c274a864d585df"> 1060</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a0afa7ccc198c728d79c274a864d585df">Accept</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;        {</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;            visitor.AcceptNop(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;        }</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div>
<div class="line"><a name="l01065"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a3533e4d537ef3fd1e33439e2e4588bc2"> 1065</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a3533e4d537ef3fd1e33439e2e4588bc2">ToString</a>(<span class="keywordtype">int</span> indent, StringBuilder sb)</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;        {</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;            base.ToString(indent, sb);</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;            Indent(indent, sb);</div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;            sb.Append(<span class="stringliteral">&quot;NOP&quot;</span>);</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;            AppendAttributes(sb);</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;            sb.AppendLine();</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;        }</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;        <span class="keyword">internal</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> CloneInternal(CloneContext ctx)</div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        {</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a>();</div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;        }</div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    }</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;</div>
<div class="line"><a name="l01083"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html"> 1083</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html">StatementLinker</a></div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;    {</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;        <span class="keyword">class </span>Visitor : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;        {</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="preprocessor">            #region IStatementVisitor Members</span></div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptCompoundStatement(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;            {</div>
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> last = null;</div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> child <span class="keywordflow">in</span> stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>)</div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;                {</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;                    <span class="keywordflow">if</span> (last != null)</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;                        last.Successor = child;</div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;                    last = child;</div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;                }</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;                <span class="keywordflow">if</span> (stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>.Count &gt; 0)</div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;                {</div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;                    stmt.Statements.Last().Successor = stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#aae93f24b4a3a31714bd371ef37247c97">Successor</a>;</div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;                }</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> child <span class="keywordflow">in</span> stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>)</div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;                {</div>
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;                    child.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;                }</div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;            }</div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;</div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptLoopBlock(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;            {</div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;                stmt.Body.Successor = stmt.Body;</div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;                stmt.Body.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;            }</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;</div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptBreakLoop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;            {</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;                stmt.Successor = stmt.Loop.Successor;</div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;            }</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptContinueLoop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;            {</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;                stmt.Successor = stmt.Loop;</div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;            }</div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;</div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptIf(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;            {</div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> branch <span class="keywordflow">in</span> stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#ab21ebf237d5dbd34adf2d817ebf2c737">Branches</a>)</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;                {</div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;                    branch.Successor = stmt.Successor;</div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;                    branch.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;                }</div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;            }</div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;</div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;            {</div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> branch <span class="keywordflow">in</span> stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3defade69c693c003ba9e4a2ca910334">Branches</a>)</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                {</div>
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;                    branch.Successor = stmt.Successor;</div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;                    branch.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;                }</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;            }</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptStore(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;            {</div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;            }</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptNop(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;            {</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            }</div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;</div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptSolve(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;            {</div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;            }</div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptBreakCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;            {</div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;                stmt.Successor = stmt.CaseStmt.Successor;</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;            }</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptGotoCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;            {</div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;                stmt.Successor = stmt.CaseStmt.Branches[stmt.TargetIndex];</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;            }</div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptGoto(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;            {</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;                stmt.Successor = stmt.Target;</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;            }</div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptReturn(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;            {</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;                stmt.Successor = null;</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;            }</div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptThrow(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;            {</div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;                stmt.Successor = null;</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;            }</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> AcceptCall(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;            {</div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;            }</div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;<span class="preprocessor">            #endregion</span></div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;<span class="preprocessor"></span>        }</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;</div>
<div class="line"><a name="l01189"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html#ab3cf8bdafa7654ac6bc6911c5a8faea1"> 1189</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html#ab3cf8bdafa7654ac6bc6911c5a8faea1">Link</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt)</div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;        {</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;            stmt.Accept(<span class="keyword">new</span> Visitor());</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;        }</div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;    }</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;</div>
<div class="line"><a name="l01199"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html"> 1199</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html">StmtVariableReplacer</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    {</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;        <span class="keyword">private</span> Dictionary&lt;Literal, Literal&gt; _rplMap = <span class="keyword">new</span> Dictionary&lt;Literal, Literal&gt;();</div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;</div>
<div class="line"><a name="l01208"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a592edf052c5ad2a58e061cfb2feb8f66"> 1208</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a592edf052c5ad2a58e061cfb2feb8f66">AddReplacement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a> v, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a> v_)</div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;        {</div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;            _rplMap[v] = v_;</div>
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;        }</div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;</div>
<div class="line"><a name="l01213"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a24fe7c2209806209f74c4b696324cbe0"> 1213</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a24fe7c2209806209f74c4b696324cbe0">Lookup</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a> v)</div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;        {</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a> v_ = v;</div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;            <span class="keywordflow">if</span> (_rplMap.TryGetValue(v, out v_))</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;                <span class="keywordflow">return</span> v_;</div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;                <span class="keywordflow">return</span> v;</div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;        }</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> SubstExpression(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> e)</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;        {</div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;            <span class="keywordflow">foreach</span> (KeyValuePair&lt;Literal, Literal&gt; kvp <span class="keywordflow">in</span> _rplMap)</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;            {</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;                <span class="keywordflow">if</span> (!kvp.Key.Equals(kvp.Value))</div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;                {</div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;                    e = e.Substitute(kvp.Key, kvp.Value);</div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;                }</div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;            }</div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;            <span class="keywordflow">return</span> e;</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;        }</div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;</div>
<div class="line"><a name="l01234"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a36110c735a7ba2203d958b9ec46eb17e"> 1234</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a36110c735a7ba2203d958b9ec46eb17e">AcceptCompoundStatement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;        {</div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Statements)</div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;        }</div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;</div>
<div class="line"><a name="l01240"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2d5eb8079208310b144bf1dd8b461b7"> 1240</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2d5eb8079208310b144bf1dd8b461b7">AcceptLoopBlock</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;        {</div>
<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;            stmt.Body.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Locals.Count; i++)</div>
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;            {</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;                stmt.Locals[i] = (<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a>)Lookup((<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a>)stmt.Locals[i]);</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;            }</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;        }</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div>
<div class="line"><a name="l01250"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5ca83190933cadaf748820106b876781"> 1250</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5ca83190933cadaf748820106b876781">AcceptBreakLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;        {</div>
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;        }</div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;</div>
<div class="line"><a name="l01255"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb0d9e07a37b8d47308854dde55c8836"> 1255</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb0d9e07a37b8d47308854dde55c8836">AcceptContinueLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;        {</div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;        }</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;</div>
<div class="line"><a name="l01260"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb63d4ffa95f9db82afef89347930460"> 1260</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb63d4ffa95f9db82afef89347930460">AcceptIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;        {</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Conditions.Count; i++)</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;                stmt.Conditions[i] = SubstExpression(stmt.Conditions[i]);</div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;        }</div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;</div>
<div class="line"><a name="l01268"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aee2eed23f947129a502d5ff9fee95dc1"> 1268</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aee2eed23f947129a502d5ff9fee95dc1">AcceptCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;        {</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Cases.Count; i++)</div>
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;                stmt.Cases[i] = SubstExpression(stmt.Cases[i]);</div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;            stmt.Selector = SubstExpression(stmt.Selector);</div>
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;        }</div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;</div>
<div class="line"><a name="l01277"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a52b05ee5fc77ab0dd80ab39083715963"> 1277</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a52b05ee5fc77ab0dd80ab39083715963">AcceptStore</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;        {</div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;            stmt.Container = (<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a>)Lookup((<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a>)stmt.Container);</div>
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;            stmt.Value = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a7b56e89958be5b709b65a9db38fc0258">Value</a>);</div>
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;        }</div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;</div>
<div class="line"><a name="l01283"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a95dfd01b1f237f3f71d4b7f11cb0df66"> 1283</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a95dfd01b1f237f3f71d4b7f11cb0df66">AcceptNop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;        {</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;        }</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;</div>
<div class="line"><a name="l01288"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2dd43623b1539c2e2fd4beb62815533"> 1288</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2dd43623b1539c2e2fd4beb62815533">AcceptSolve</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;        {</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;            <a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> eqs = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a>();</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> eq <span class="keywordflow">in</span> stmt.EqSys.Equations)</div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;                eqs.Equations.Add(SubstExpression(eq));</div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> v <span class="keywordflow">in</span> stmt.EqSys.Variables)</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;                eqs.Variables.Add((<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>)Lookup(v));</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;            stmt.EqSys = eqs;</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;        }</div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;</div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;</div>
<div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a6d98483e1684683dea40296238e76989"> 1299</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a6d98483e1684683dea40296238e76989">AcceptBreakCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;        {</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;        }</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;</div>
<div class="line"><a name="l01304"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5b82a0f5e1b69454dfd8a2eb5ff6e25c"> 1304</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5b82a0f5e1b69454dfd8a2eb5ff6e25c">AcceptGotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;        {</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;        }</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;</div>
<div class="line"><a name="l01309"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aaa0e907037fd56ecc64d3bf79723ba3f"> 1309</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aaa0e907037fd56ecc64d3bf79723ba3f">AcceptGoto</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;        {</div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;        }</div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div>
<div class="line"><a name="l01314"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a246be81a77535c6c163551b7a7b39565"> 1314</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a246be81a77535c6c163551b7a7b39565">AcceptReturn</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;        {</div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;        }</div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;</div>
<div class="line"><a name="l01319"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a378f2c2704a4a360d0f62ffd6fc83f68"> 1319</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a378f2c2704a4a360d0f62ffd6fc83f68">AcceptThrow</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;        {</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;            stmt.ThrowExpr = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#aad713ccd1af5b3f3be7732f9d55ea176">ThrowExpr</a>);</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;        }</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;</div>
<div class="line"><a name="l01324"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a0842e6398b9bedaf52fdc8be72a2a0ea"> 1324</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a0842e6398b9bedaf52fdc8be72a2a0ea">AcceptCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;        {</div>
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Arguments.Length; i++)</div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;                stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">Arguments</a>[i] = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">Arguments</a>[i]);</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;        }</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;    }</div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;</div>
<div class="line"><a name="l01331"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html"> 1331</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html">StmtExpressionSubstitution</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;    {</div>
<div class="line"><a name="l01333"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a70940c209ecec0be4cf1ec4a6c266a41"> 1333</a></span>&#160;        <span class="keyword">public</span> Expression.MatchFunction MatchFn { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01334"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#af801aa95e9b03ed20444e993f393d819"> 1334</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="namespace_system_sharp_1_1_sys_d_o_m.html#a55f18bc7b5ffbb11145b22118dbac279">ExpressionGenerator</a> ExprGen { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> SubstExpression(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> e)</div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;        {</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;            <span class="keywordtype">bool</span> hit;</div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;            <span class="keywordflow">return</span> e.Replace(MatchFn, ExprGen, out hit);</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;        }</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;</div>
<div class="line"><a name="l01342"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab1372c61467c7419cbd9ee7ebb374c22"> 1342</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab1372c61467c7419cbd9ee7ebb374c22">AcceptCompoundStatement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;        {</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Statements)</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;        }</div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;</div>
<div class="line"><a name="l01348"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#acf988871deb2978ebd035dc18d7d7744"> 1348</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#acf988871deb2978ebd035dc18d7d7744">AcceptLoopBlock</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;        {</div>
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;            stmt.Body.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;</div>
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;        }</div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;</div>
<div class="line"><a name="l01354"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab9f635fa18ab8ff3df101f30a318c3fb"> 1354</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab9f635fa18ab8ff3df101f30a318c3fb">AcceptBreakLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;        {</div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;        }</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;</div>
<div class="line"><a name="l01359"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a32290929a9da82490bd661b0d9f0b6a9"> 1359</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a32290929a9da82490bd661b0d9f0b6a9">AcceptContinueLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;        {</div>
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;        }</div>
<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;</div>
<div class="line"><a name="l01364"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a2f39cbca36e6d98eea3767025d2f71ad"> 1364</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a2f39cbca36e6d98eea3767025d2f71ad">AcceptIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;        {</div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Conditions.Count; i++)</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;                stmt.Conditions[i] = SubstExpression(stmt.Conditions[i]);</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;        }</div>
<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;</div>
<div class="line"><a name="l01372"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31a1abb27a3c3503ae37f9bddc1e7ec4"> 1372</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31a1abb27a3c3503ae37f9bddc1e7ec4">AcceptCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;        {</div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Cases.Count; i++)</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;                stmt.Cases[i] = SubstExpression(stmt.Cases[i]);</div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;            stmt.Selector = SubstExpression(stmt.Selector);</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;        }</div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;</div>
<div class="line"><a name="l01381"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a76ffab04c5c717ffb8900d627b49c105"> 1381</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a76ffab04c5c717ffb8900d627b49c105">AcceptStore</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;        {</div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;            stmt.Value = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a7b56e89958be5b709b65a9db38fc0258">Value</a>);</div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;        }</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div>
<div class="line"><a name="l01386"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a573ff6e8a4b4c1a9fc0a7f8d87326c60"> 1386</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a573ff6e8a4b4c1a9fc0a7f8d87326c60">AcceptNop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;        {</div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;        }</div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;</div>
<div class="line"><a name="l01391"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#aad05bd9a2af6ab3a7b5db48a79984c62"> 1391</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#aad05bd9a2af6ab3a7b5db48a79984c62">AcceptSolve</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;        {</div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;            <a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> eqs = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a>();</div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> eq <span class="keywordflow">in</span> stmt.EqSys.Equations)</div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;                eqs.Equations.Add(SubstExpression(eq));</div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;            stmt.EqSys = eqs;</div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;        }</div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;</div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;</div>
<div class="line"><a name="l01400"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a183cc5171f43d4a4e2309fde079fb927"> 1400</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a183cc5171f43d4a4e2309fde079fb927">AcceptBreakCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;        {</div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;        }</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;</div>
<div class="line"><a name="l01405"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a535b2595d5347efcd395ae5081a2f7f0"> 1405</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a535b2595d5347efcd395ae5081a2f7f0">AcceptGotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;        {</div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;        }</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;</div>
<div class="line"><a name="l01410"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31272f0a4276f7aa2465043bfb7ac819"> 1410</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31272f0a4276f7aa2465043bfb7ac819">AcceptGoto</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;        {</div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;        }</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;</div>
<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#abdc7da43cd7751cfa8f9571e82eac3bb"> 1415</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#abdc7da43cd7751cfa8f9571e82eac3bb">AcceptReturn</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;        {</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;            <span class="comment">// nop</span></div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;        }</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;</div>
<div class="line"><a name="l01420"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a50e17e8c2a1849308879ea96f70ef3db"> 1420</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a50e17e8c2a1849308879ea96f70ef3db">AcceptThrow</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;        {</div>
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;            stmt.ThrowExpr = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#aad713ccd1af5b3f3be7732f9d55ea176">ThrowExpr</a>);</div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;        }</div>
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;</div>
<div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a56797152d994a6411617607d864ef2ae"> 1425</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a56797152d994a6411617607d864ef2ae">AcceptCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;        {</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; stmt.Arguments.Length; i++)</div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;                stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">Arguments</a>[i] = SubstExpression(stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">Arguments</a>[i]);</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;        }</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;    }</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div>
<div class="line"><a name="l01432"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html"> 1432</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html">StatementConsistencyChecker</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;    {</div>
<div class="line"><a name="l01434"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5e61427445dce1b7a576bcc18ee54844"> 1434</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5e61427445dce1b7a576bcc18ee54844">AcceptCompoundStatement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;        {</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Statements)</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;        }</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;</div>
<div class="line"><a name="l01440"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3cf86847205c21a3ad166bf8e86a4935"> 1440</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3cf86847205c21a3ad166bf8e86a4935">AcceptLoopBlock</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;        {</div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;            stmt.Body.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;        }</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;</div>
<div class="line"><a name="l01445"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3b3dc93fc2b2d3370efdf84dcc7621e7"> 1445</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3b3dc93fc2b2d3370efdf84dcc7621e7">AcceptBreakLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;        {</div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;        }</div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;</div>
<div class="line"><a name="l01449"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#aefaebba1244ed2d4f4d6e839d349f2ba"> 1449</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#aefaebba1244ed2d4f4d6e839d349f2ba">AcceptContinueLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;        {</div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;        }</div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;</div>
<div class="line"><a name="l01453"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a45f3a0f7ca93c3053275372ac5489e24"> 1453</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a45f3a0f7ca93c3053275372ac5489e24">AcceptIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;        {</div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> e <span class="keywordflow">in</span> stmt.Conditions)</div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;                e.CheckConsistency();</div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;        }</div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;</div>
<div class="line"><a name="l01461"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a770985666a630b669d46276588df7750"> 1461</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a770985666a630b669d46276588df7750">AcceptCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;        {</div>
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;            stmt.Selector.CheckConsistency();</div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> e <span class="keywordflow">in</span> stmt.Cases)</div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;                e.CheckConsistency();</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> s <span class="keywordflow">in</span> stmt.Branches)</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;                s.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;        }</div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;</div>
<div class="line"><a name="l01470"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5dbf6254180e73f6a6354ee81e76e2c0"> 1470</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5dbf6254180e73f6a6354ee81e76e2c0">AcceptStore</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;        {</div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;            stmt.Value.CheckConsistency();</div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;        }</div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;</div>
<div class="line"><a name="l01475"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a6dce2ab67457dba61bce369ef258459d"> 1475</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a6dce2ab67457dba61bce369ef258459d">AcceptNop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;        {</div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;        }</div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;</div>
<div class="line"><a name="l01479"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a1c346877d44dd4ca292291c41a3b1c6c"> 1479</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a1c346877d44dd4ca292291c41a3b1c6c">AcceptSolve</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;        {</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;            stmt.EqSys.CheckConsistency();</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;        }</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;</div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;</div>
<div class="line"><a name="l01485"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a40d9b841bec448a76f7e3426932ce212"> 1485</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a40d9b841bec448a76f7e3426932ce212">AcceptBreakCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;        {</div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;        }</div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;</div>
<div class="line"><a name="l01489"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a7962bbcf645cac97c081b6ab2b0075c6"> 1489</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a7962bbcf645cac97c081b6ab2b0075c6">AcceptGotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;        {</div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;        }</div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;</div>
<div class="line"><a name="l01493"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a087ba9305e07f5f296b890a5b97a274d"> 1493</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a087ba9305e07f5f296b890a5b97a274d">AcceptGoto</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;        {</div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;        }</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;</div>
<div class="line"><a name="l01497"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a98cb02511e884a55d2099ffd9c0855ff"> 1497</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a98cb02511e884a55d2099ffd9c0855ff">AcceptReturn</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;        {</div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;        }</div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;</div>
<div class="line"><a name="l01501"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#ade2e97d80cb8c5e439f555bd7fce94fd"> 1501</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#ade2e97d80cb8c5e439f555bd7fce94fd">AcceptThrow</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;        {</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;            stmt.ThrowExpr.CheckConsistency();</div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;        }</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;</div>
<div class="line"><a name="l01506"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a32bc3c8c885f835843dbd3b09b88cfc0"> 1506</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a32bc3c8c885f835843dbd3b09b88cfc0">AcceptCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;        {</div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> arg <span class="keywordflow">in</span> stmt.Arguments)</div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;                arg.CheckConsistency();</div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;        }</div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;    }</div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div>
<div class="line"><a name="l01516"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html"> 1516</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html">FunctionBase</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_attributed_object.html">AttributedObject</a></div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;    {</div>
<div class="line"><a name="l01521"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a2d513e1e94f86de78c4db2f8e09d4560"> 1521</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">string</span> Name { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;</div>
<div class="line"><a name="l01526"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#ac79c0d7475581abaee0ca20253309423"> 1526</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> ThisVariable { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;</div>
<div class="line"><a name="l01531"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a564c03d758ffeead5f6f7c323b749ef6"> 1531</a></span>&#160;        <span class="keyword">public</span> List&lt;IStorableLiteral&gt; InputVariables { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div>
<div class="line"><a name="l01536"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a02838fdc7d350596832f875881962da4"> 1536</a></span>&#160;        <span class="keyword">public</span> List&lt;IStorableLiteral&gt; OutputVariables { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;</div>
<div class="line"><a name="l01541"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a2f4979bccacf37f7bb7064df21f236a3"> 1541</a></span>&#160;        <span class="keyword">public</span> List&lt;IStorableLiteral&gt; LocalVariables { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;</div>
<div class="line"><a name="l01546"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#ac25aa4b23c7f947675f181818f192f4c"> 1546</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#ac25aa4b23c7f947675f181818f192f4c">FunctionBase</a>()</div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        {</div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;            InputVariables = <span class="keyword">new</span> List&lt;IStorableLiteral&gt;();</div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;            OutputVariables = <span class="keyword">new</span> List&lt;IStorableLiteral&gt;();</div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;            LocalVariables = <span class="keyword">new</span> List&lt;IStorableLiteral&gt;();</div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;        }</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;</div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;        <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keywordtype">void</span> CheckConsistency();</div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;    }</div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;</div>
<div class="line"><a name="l01562"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html"> 1562</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html">FunctionBase</a></div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;    {</div>
<div class="line"><a name="l01567"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#a8adcc6be67bb821f645e6cf2f561d381"> 1567</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> Body { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;</div>
<div class="line"><a name="l01572"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ad1462ef919f604a7a851d968c293a95f"> 1572</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ad1462ef919f604a7a851d968c293a95f">Function</a>()</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;        {</div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;        }</div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;</div>
<div class="line"><a name="l01576"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#a77aee09919b6fc36b8bbbf357085af47"> 1576</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#a77aee09919b6fc36b8bbbf357085af47">CheckConsistency</a>()</div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;        {</div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;            Body.CheckConsistency();</div>
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;        }</div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;</div>
<div class="line"><a name="l01581"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ac23fdff20a4e115dff24a788bf54983e"> 1581</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ac23fdff20a4e115dff24a788bf54983e">ToString</a>()</div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;        {</div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;            var sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;sysdom:&quot;</span> + Name + <span class="stringliteral">&quot;{&quot;</span>);</div>
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;            sb.Append(Body.ToString());</div>
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;            <span class="keywordflow">return</span> sb.ToString();</div>
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;        }</div>
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;    }</div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;</div>
<div class="line"><a name="l01595"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html"> 1595</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html">StateFunction</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html">FunctionBase</a></div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;    {</div>
<div class="line"><a name="l01600"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#a4327c03f6ef95d4011882cda9861729e"> 1600</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a>[] States { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;</div>
<div class="line"><a name="l01605"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab3dc42c3f45f3f2781117d8df0ae87bb"> 1605</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab3dc42c3f45f3f2781117d8df0ae87bb">StateFunction</a>()</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;        {</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;        }</div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;</div>
<div class="line"><a name="l01609"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#a66ea9594fc070f9fd53822fb853a13bd"> 1609</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#a66ea9594fc070f9fd53822fb853a13bd">CheckConsistency</a>()</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;        {</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;            <span class="keywordflow">foreach</span> (var state <span class="keywordflow">in</span> States)</div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;                state.CheckConsistency();</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;        }</div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;</div>
<div class="line"><a name="l01615"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab025c8e6a24add4a3bd9659d0c4486a2"> 1615</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">string</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab025c8e6a24add4a3bd9659d0c4486a2">ToString</a>()</div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;        {</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;            var sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;sysdom:&quot;</span> + Name + <span class="stringliteral">&quot;{&quot;</span>);</div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; States.Length; i++)</div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;            {</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;                sb.AppendLine(<span class="stringliteral">&quot;State &quot;</span> + (i - 1) + <span class="stringliteral">&quot;: {&quot;</span>);</div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;                sb.Append(States[i].ToString());</div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;                sb.AppendLine(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;            }</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;            sb.AppendLine(<span class="stringliteral">&quot;}&quot;</span>);</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;            <span class="keywordflow">return</span> sb.ToString();</div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;        }</div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;    }</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;</div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;    [ContractClass(typeof(AlgorithmBuilderContractClass))]</div>
<div class="line"><a name="l01634"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html"> 1634</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a></div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;    {</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;        <span class="keywordtype">void</span> DeclareLocal(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> v);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;</div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;        <span class="keywordtype">void</span> Store(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> val);</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> If(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond);</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;        <span class="keywordtype">void</span> ElseIf(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond);</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;        <span class="keywordtype">void</span> Else();</div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;        <span class="keywordtype">void</span> EndIf();</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;</div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> Loop();</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;        <span class="keywordtype">void</span> Break(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop);</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;        <span class="keywordtype">void</span> Continue(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop);</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;        <span class="keywordtype">void</span> EndLoop();</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;        [Obsolete(<span class="stringliteral">&quot;part of an out-dated concept.&quot;</span>)]</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;        <span class="keywordtype">void</span> Solve(<a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> eqsys);</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;        <span class="keywordtype">void</span> InlineCall(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> fn, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] inArgs, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>[] outArgs, <span class="keywordtype">bool</span> shareLocals = <span class="keyword">false</span>);</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> Switch(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> selector);</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;        <span class="keywordtype">void</span> Case(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond);</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;        <span class="keywordtype">void</span> DefaultCase();</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;        <span class="keywordtype">void</span> GotoCase(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt, <span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;        <span class="keywordtype">void</span> Break(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt);</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;        <span class="keywordtype">void</span> EndCase();</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;        <span class="keywordtype">void</span> EndSwitch();</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> Goto();</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;        <span class="keywordtype">void</span> Return();</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;        <span class="keywordtype">void</span> Return(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> returnValue);</div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;</div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;        <span class="keywordtype">void</span> Throw(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> expr);</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;        <span class="keywordtype">void</span> Call(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable.html">ICallable</a> callee, params <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] arguments);</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;        <span class="keywordtype">void</span> Nop();</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;</div>
<div class="line"><a name="l01781"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html#ac2c074cbfae6820a4890ecbf4cfec0de"> 1781</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> LastStatement { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;        <span class="keywordtype">void</span> RemoveLastStatement();</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;</div>
<div class="line"><a name="l01791"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html#aa4760e01fb1e5dba0341ab314507f2a9"> 1791</a></span>&#160;        <span class="keywordtype">bool</span> HaveAnyStatement { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;        <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a> BeginSubAlgorithm();</div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;        <span class="keywordtype">void</span> Comment(<span class="keywordtype">string</span> comment);</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;    }</div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;</div>
<div class="line"><a name="l01810"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html"> 1810</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a>: <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a></div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;    {</div>
<div class="line"><a name="l01815"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html#a014ce7abf413946683b7dda343c290a1"> 1815</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> ResultFunction { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;    }</div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;    [ContractClassFor(typeof(IAlgorithmBuilder))]</div>
<div class="line"><a name="l01819"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html"> 1819</a></span>&#160;    <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html">AlgorithmBuilderContractClass</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a></div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;    {</div>
<div class="line"><a name="l01821"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5c910af6e03aa97fa8aab3a1a2714aca"> 1821</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5c910af6e03aa97fa8aab3a1a2714aca">DeclareLocal</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> v)</div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;        {</div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;            Contract.Requires(v != null);</div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;        }</div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;</div>
<div class="line"><a name="l01826"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3b365f8464f1ffbcce579c83bf673593"> 1826</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3b365f8464f1ffbcce579c83bf673593">Store</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> val)</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;        {</div>
<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;            Contract.Requires(var != null);</div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;            Contract.Requires(val != null);</div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;        }</div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;</div>
<div class="line"><a name="l01832"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a08391b1bf5bef375955ab47309fcc95c"> 1832</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a08391b1bf5bef375955ab47309fcc95c">If</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;        {</div>
<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;            Contract.Requires(cond != null);</div>
<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;            Contract.Ensures(Contract.Result&lt;<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>&gt;() != null);</div>
<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;            <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;        }</div>
<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;</div>
<div class="line"><a name="l01839"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a84b370c92f57978fd8a7722fadfc327f"> 1839</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a84b370c92f57978fd8a7722fadfc327f">ElseIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;        {</div>
<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;            Contract.Requires(cond != null);</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;        }</div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;</div>
<div class="line"><a name="l01844"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5cab4a27dad91a45a26ce7d007b5de89"> 1844</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5cab4a27dad91a45a26ce7d007b5de89">Else</a>()</div>
<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;        {</div>
<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;        }</div>
<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;</div>
<div class="line"><a name="l01848"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5de30ff22f61c156154720a8fefdb6d3"> 1848</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5de30ff22f61c156154720a8fefdb6d3">EndIf</a>()</div>
<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;        {</div>
<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;        }</div>
<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;</div>
<div class="line"><a name="l01852"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3c565183f3320e856083e2f14b83b9ec"> 1852</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3c565183f3320e856083e2f14b83b9ec">Loop</a>()</div>
<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;        {</div>
<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;            Contract.Ensures(Contract.Result&lt;<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a>&gt;() != null);</div>
<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;            <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160;        }</div>
<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;</div>
<div class="line"><a name="l01858"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5110640ac2a83013eb907e37d37503e2"> 1858</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5110640ac2a83013eb907e37d37503e2">Break</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop)</div>
<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;        {</div>
<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;            Contract.Requires(loop != null);</div>
<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;        }</div>
<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;</div>
<div class="line"><a name="l01863"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5eabe9d70974688ab63f5155c31560ed"> 1863</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5eabe9d70974688ab63f5155c31560ed">Continue</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop)</div>
<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;        {</div>
<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;            Contract.Requires(loop != null);</div>
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;        }</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;</div>
<div class="line"><a name="l01868"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ad9cbf612cadeea2847bdb2ee0d566846"> 1868</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ad9cbf612cadeea2847bdb2ee0d566846">EndLoop</a>()</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;        {</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;        }</div>
<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;</div>
<div class="line"><a name="l01872"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a8ccc025580c7db0d6b6aac1dbe57c622"> 1872</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a8ccc025580c7db0d6b6aac1dbe57c622">Solve</a>(<a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> eqsys)</div>
<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;        {</div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;            Contract.Requires(eqsys != null);</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;        }</div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;</div>
<div class="line"><a name="l01877"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a97938eb2e16d187f62b792905996017c"> 1877</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a97938eb2e16d187f62b792905996017c">InlineCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> fn, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] inArgs, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>[] outArgs, <span class="keywordtype">bool</span> shareLocals = <span class="keyword">false</span>)</div>
<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;        {</div>
<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;            Contract.Requires(fn != null);</div>
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;            Contract.Requires(inArgs != null);</div>
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;            Contract.Requires(outArgs != null);</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;            Contract.Requires(inArgs.Length == fn.InputVariables.Count);</div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;            Contract.Requires(outArgs.Length == fn.OutputVariables.Count);</div>
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;        }</div>
<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;</div>
<div class="line"><a name="l01886"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abaea2489a27de101c1a4fc56433c0112"> 1886</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abaea2489a27de101c1a4fc56433c0112">Switch</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> selector)</div>
<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;        {</div>
<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;            Contract.Requires(selector != null);</div>
<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;            Contract.Ensures(Contract.Result&lt;<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>&gt;() != null);</div>
<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;            <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;        }</div>
<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;</div>
<div class="line"><a name="l01893"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aab2e8b589efc3eafd56c0a5282046725"> 1893</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aab2e8b589efc3eafd56c0a5282046725">Case</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;        {</div>
<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;            Contract.Requires(cond != null);</div>
<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;        }</div>
<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;</div>
<div class="line"><a name="l01898"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ac8fa7d11004e37797c5b5ff5a2f91bf1"> 1898</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ac8fa7d11004e37797c5b5ff5a2f91bf1">DefaultCase</a>()</div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;        {</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;        }</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;</div>
<div class="line"><a name="l01902"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a9b033782832a1d6988acb5674840918c"> 1902</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a9b033782832a1d6988acb5674840918c">GotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt, <span class="keywordtype">int</span> index)</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;        {</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;            Contract.Requires(cstmt != null);</div>
<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;            Contract.Requires(index &gt;= 0);</div>
<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;            <span class="comment">// Might not be valid during statement construction</span></div>
<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;            <span class="comment">//Contract.Requires(index &lt; cstmt.Cases.Count);</span></div>
<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;        }</div>
<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;</div>
<div class="line"><a name="l01910"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a500b802f56ffd1313746c35705b51d8f"> 1910</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a500b802f56ffd1313746c35705b51d8f">Break</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;        {</div>
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;            Contract.Requires(stmt != null);</div>
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;        }</div>
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;</div>
<div class="line"><a name="l01915"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aa808dddf1d44133393a6ac72d2f76793"> 1915</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aa808dddf1d44133393a6ac72d2f76793">EndCase</a>()</div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;        {</div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;        }</div>
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;</div>
<div class="line"><a name="l01919"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a1711b5f80e1774a712ac9f819a4d45a3"> 1919</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a1711b5f80e1774a712ac9f819a4d45a3">EndSwitch</a>()</div>
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;        {</div>
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;        }</div>
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;</div>
<div class="line"><a name="l01923"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a34e5d1597fdcf2d778d0d6cf3bac2f88"> 1923</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a34e5d1597fdcf2d778d0d6cf3bac2f88">Goto</a>()</div>
<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;        {</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;            Contract.Ensures(Contract.Result&lt;<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a>&gt;() != null);</div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;            <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;        }</div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;</div>
<div class="line"><a name="l01929"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abdf36241ef21ec19364ccb4654947240"> 1929</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abdf36241ef21ec19364ccb4654947240">Return</a>()</div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;        {</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;        }</div>
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;</div>
<div class="line"><a name="l01933"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a57f1a51946ef66839719de472e09c5df"> 1933</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a57f1a51946ef66839719de472e09c5df">Return</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> returnValue)</div>
<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;        {</div>
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;            Contract.Requires(returnValue != null);</div>
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;        }</div>
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;</div>
<div class="line"><a name="l01938"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a2dbec68f9cce56e3533e40df3756ff7f"> 1938</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a2dbec68f9cce56e3533e40df3756ff7f">Throw</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> expr)</div>
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;        {</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;            Contract.Requires(expr != null);</div>
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;        }</div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;</div>
<div class="line"><a name="l01943"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5222499cd4ad2bc277fb970f22b541d7"> 1943</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5222499cd4ad2bc277fb970f22b541d7">Call</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable.html">ICallable</a> callee, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] arguments)</div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;        {</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;            Contract.Requires(callee != null);</div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;            Contract.Requires(arguments != null);</div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;        }</div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;</div>
<div class="line"><a name="l01949"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a42b876030a8d723bf1800396d0a8c6ed"> 1949</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a42b876030a8d723bf1800396d0a8c6ed">Nop</a>()</div>
<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;        {</div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;        }</div>
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;</div>
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> LastStatement</div>
<div class="line"><a name="l01954"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a874586abc1cd7bc0fa89e89f53ba54e9"> 1954</a></span>&#160;        {</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;            <span class="keyword">get</span> </div>
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;            {</div>
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;                Contract.Ensures(Contract.Result&lt;<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a>&gt;() != null);</div>
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;                <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;            }</div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;        }</div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;</div>
<div class="line"><a name="l01962"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aeef34ac39c617c8273cfdf65623ca87a"> 1962</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aeef34ac39c617c8273cfdf65623ca87a">RemoveLastStatement</a>()</div>
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;        {</div>
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;        }</div>
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;</div>
<div class="line"><a name="l01966"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a62fa82c0078b4fd533a4c302f913f0a5"> 1966</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> HaveAnyStatement { <span class="keyword">get</span> { <span class="keywordflow">return</span> <span class="keyword">false</span>; }  }</div>
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;</div>
<div class="line"><a name="l01968"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#affae1d3f84ed925e23d9df432171a01f"> 1968</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#affae1d3f84ed925e23d9df432171a01f">BeginSubAlgorithm</a>()</div>
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;        {</div>
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;            <span class="keywordflow">return</span> null;</div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;        }</div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;</div>
<div class="line"><a name="l01973"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a7e934cbe54b376ed5a2f5dfc194246c7"> 1973</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a7e934cbe54b376ed5a2f5dfc194246c7">Comment</a>(<span class="keywordtype">string</span> comment)</div>
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;        {</div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;        }</div>
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;    }</div>
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;</div>
<div class="line"><a name="l01981"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html"> 1981</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html">AbstractAlgorithmBuilder</a> :</div>
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;        <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a></div>
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;    {</div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> _stmts = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;        <span class="keyword">private</span> Stack&lt;CompoundStatement&gt; _cstack = <span class="keyword">new</span> Stack&lt;CompoundStatement&gt;();</div>
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;        <span class="keyword">private</span> Stack&lt;Statement&gt; _sstack = <span class="keyword">new</span> Stack&lt;Statement&gt;();</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;</div>
<div class="line"><a name="l01991"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1413055b17b5a7babcb11f7217d4286a"> 1991</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">abstract</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> ResultFunction { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;</div>
<div class="line"><a name="l01996"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a2040b73b3c316cac0b1dcb78f82f08d4"> 1996</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a2040b73b3c316cac0b1dcb78f82f08d4">AbstractAlgorithmBuilder</a>()</div>
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;        {</div>
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;        }</div>
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;</div>
<div class="line"><a name="l02004"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a675297409ec0fa57f30020e7aaf39bf5"> 2004</a></span>&#160;        <span class="keyword">protected</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a675297409ec0fa57f30020e7aaf39bf5">Reset</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> root)</div>
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;        {</div>
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;            _cstack.Clear();</div>
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;            _sstack.Clear();</div>
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;            _cstack.Push(root);</div>
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;            _sstack.Push(root);</div>
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;        }</div>
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;</div>
<div class="line"><a name="l02012"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad371992c56298583d6f648719aa85933"> 2012</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad371992c56298583d6f648719aa85933">Store</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> val)</div>
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;        {</div>
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;            <span class="keywordflow">if</span> (var == null || val == null)</div>
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException();</div>
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;</div>
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a>()</div>
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;            {</div>
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;                Container = var,</div>
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;                Value = val</div>
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;            };</div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;        }</div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;</div>
<div class="line"><a name="l02025"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8faa3912d7b9af0b8119fba0c5ac92c2"> 2025</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">IAlgorithmBuilder</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8faa3912d7b9af0b8119fba0c5ac92c2">BeginSubAlgorithm</a>()</div>
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;        {</div>
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> sub = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;            _cstack.Peek().Statements.Add(sub);</div>
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html">DependendAlgorithmBuilder</a>(ResultFunction, sub);</div>
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;        }</div>
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;</div>
<div class="line"><a name="l02032"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1484693b1470353b6712a638d0e82be0"> 2032</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1484693b1470353b6712a638d0e82be0">If</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;        {</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> ifstmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>();</div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> ifbranch = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;            ifstmt.Conditions.Add(cond);</div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;            ifstmt.Branches.Add(ifbranch);</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;            _cstack.Peek().Statements.Add(ifstmt);</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;            _cstack.Push(ifbranch);</div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;            _sstack.Push(ifstmt);</div>
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;            <span class="keywordflow">return</span> ifstmt;</div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;        }</div>
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;</div>
<div class="line"><a name="l02044"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3a8ccc6b03cdf25f0de1ee9df2faac7d"> 2044</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3a8ccc6b03cdf25f0de1ee9df2faac7d">ElseIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;        {</div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> ifstmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>)_sstack.Peek();</div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> branch = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;            ifstmt.Conditions.Add(cond);</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;            ifstmt.Branches.Add(branch);</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;            _cstack.Pop();</div>
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;            _cstack.Push(branch);</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;        }</div>
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;</div>
<div class="line"><a name="l02054"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a17101310b521ec41b2afebcc7ceaa5e3"> 2054</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a17101310b521ec41b2afebcc7ceaa5e3">Else</a>()</div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;        {</div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> ifstmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a>)_sstack.Peek();</div>
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> branch = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;            ifstmt.Branches.Add(branch);</div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;            _cstack.Pop();</div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;            _cstack.Push(branch);</div>
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;        }</div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;</div>
<div class="line"><a name="l02063"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#afe79d934a531deacde22c16bb6f49c06"> 2063</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#afe79d934a531deacde22c16bb6f49c06">EndIf</a>()</div>
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;        {</div>
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;            _cstack.Pop();</div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;            _sstack.Pop();</div>
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;        }</div>
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;</div>
<div class="line"><a name="l02069"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#abde310d67cb866b4a99cb70ab5b9e9b6"> 2069</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#abde310d67cb866b4a99cb70ab5b9e9b6">Loop</a>()</div>
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;        {</div>
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> block = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a>();</div>
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> body = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;            block.Body = body;</div>
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;            _sstack.Push(block);</div>
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;            _cstack.Peek().Statements.Add(block);</div>
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;            _cstack.Push(body);</div>
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;            <span class="keywordflow">return</span> block;</div>
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;        }</div>
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;</div>
<div class="line"><a name="l02080"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad0822da1c412fab367152cce49f391f9"> 2080</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad0822da1c412fab367152cce49f391f9">Break</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop)</div>
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;        {</div>
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a>()</div>
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;            {</div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;                Loop = loop</div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;            };</div>
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;        }</div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;</div>
<div class="line"><a name="l02089"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a885af2b1cb19223d48c9208307c31d2d"> 2089</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a885af2b1cb19223d48c9208307c31d2d">Continue</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> loop)</div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;        {</div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a>()</div>
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;            {</div>
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;                Loop = loop</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;            };</div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;        }</div>
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;</div>
<div class="line"><a name="l02098"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5a988e55713e1d547d29ba8a72a11333"> 2098</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5a988e55713e1d547d29ba8a72a11333">EndLoop</a>()</div>
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;        {</div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;            _cstack.Pop();</div>
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;            _sstack.Pop();</div>
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;        }</div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;</div>
<div class="line"><a name="l02104"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a375d04e7123759cdcfa2814e94d8a4ed"> 2104</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a375d04e7123759cdcfa2814e94d8a4ed">Solve</a>(<a class="code" href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">EquationSystem</a> eqsys)</div>
<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;        {</div>
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a>()</div>
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;            {</div>
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;                EqSys = eqsys</div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;            };</div>
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;        }</div>
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;</div>
<div class="line"><a name="l02113"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8731313ef852dcbe9eefb31ef2cfdccd"> 2113</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8731313ef852dcbe9eefb31ef2cfdccd">InlineCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> fn, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] inArgs, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>[] outArgs, <span class="keywordtype">bool</span> shareLocals = <span class="keyword">false</span>)</div>
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;        {</div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html">StmtVariableReplacer</a> svr = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html">StmtVariableReplacer</a>();</div>
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; inArgs.Length; i++)</div>
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;            {</div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;                var v = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a>)fn.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a564c03d758ffeead5f6f7c323b749ef6">InputVariables</a>[i];</div>
<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;                var v_ = v;</div>
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;                if (v is <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>)</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;                    v_ = UniqueVariable((Variable)v);</div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;                svr.AddReplacement(v, v_);</div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;                DeclareLocal((<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a>)v_);</div>
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;            }</div>
<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> v <span class="keywordflow">in</span> fn.LocalVariables)</div>
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;            {</div>
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;                <span class="keywordflow">if</span> (shareLocals)</div>
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;                {</div>
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;                    <span class="keywordflow">if</span> (!ResultFunction.LocalVariables.Contains(v))</div>
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;                        DeclareLocal(v);</div>
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;                }</div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;                {</div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;                    <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> v_ = UniqueVariable(v);</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;                    svr.AddReplacement(v, v_);</div>
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;                    DeclareLocal(v_);</div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;                }</div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;            }</div>
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; outArgs.Length; i++)</div>
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;            {</div>
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;                var v = fn.OutputVariables[i];</div>
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;                var v_ = outArgs[i];</div>
<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;                svr.AddReplacement((<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a>)v, v_);</div>
<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;            }</div>
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; inArgs.Length; i++)</div>
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;            {</div>
<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;                <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> v_ = (<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a>)svr.Lookup((<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">Literal</a>)fn.InputVariables[i]);</div>
<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> vlr = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>)v_;</div>
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;                <span class="keywordflow">if</span> (!vlr.Equals(inArgs[i]))</div>
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;                    Store(v_, inArgs[i]);</div>
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;            }</div>
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> body = fn.Body.Clone;</div>
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;            body.Accept(svr);</div>
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> returnVariable;</div>
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> inlined = body.RemoveRets(out returnVariable);</div>
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;            <span class="keywordflow">if</span> (returnVariable != null)</div>
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;                DeclareLocal(returnVariable);</div>
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;            _cstack.Peek().Statements.Add(inlined);</div>
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;        }</div>
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;</div>
<div class="line"><a name="l02161"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad1f3ee5a38a44e77c41790bcaa75fbc5"> 2161</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad1f3ee5a38a44e77c41790bcaa75fbc5">InlineCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt)</div>
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;        {</div>
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> returnVariable;</div>
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> inlined = stmt.RemoveRets(out returnVariable);</div>
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;            _cstack.Peek().Statements.Add(inlined);</div>
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;        }</div>
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;</div>
<div class="line"><a name="l02168"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1832a6aed274a8c9d2bb3a482331dfa1"> 2168</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1832a6aed274a8c9d2bb3a482331dfa1">Switch</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> selector)</div>
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;        {</div>
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>()</div>
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;            {</div>
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;                Selector = selector</div>
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;            };</div>
<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;            _cstack.Peek().Statements.Add(cstmt);</div>
<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;            _sstack.Push(cstmt);</div>
<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;            <span class="keywordflow">return</span> cstmt;</div>
<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;        }</div>
<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;</div>
<div class="line"><a name="l02179"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7767f3110768943938714745cd2702f8"> 2179</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7767f3110768943938714745cd2702f8">Case</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> cond)</div>
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;        {</div>
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>)_sstack.Peek();</div>
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> branch = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;            cstmt.Cases.Add(cond);</div>
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;            cstmt.Branches.Add(branch);</div>
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;            _cstack.Push(branch);</div>
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;        }</div>
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;</div>
<div class="line"><a name="l02188"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5bd4a5e1a46232ec75c9cdbe60781ebf"> 2188</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5bd4a5e1a46232ec75c9cdbe60781ebf">DefaultCase</a>()</div>
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;        {</div>
<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a>)_sstack.Peek();</div>
<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> branch = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>();</div>
<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;            cstmt.Branches.Add(branch);</div>
<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;            _cstack.Push(branch);</div>
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;        }</div>
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;</div>
<div class="line"><a name="l02196"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3e84ef55f7d6d6d80b625f657b189d26"> 2196</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3e84ef55f7d6d6d80b625f657b189d26">GotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> cstmt, <span class="keywordtype">int</span> index)</div>
<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;        {</div>
<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> gstmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a>()</div>
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;            {</div>
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;                CaseStmt = cstmt,</div>
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;                TargetIndex = index</div>
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;            };</div>
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;            _cstack.Peek().Statements.Add(gstmt);</div>
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;        }</div>
<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;</div>
<div class="line"><a name="l02206"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#adb05ffcbea2d1d329049d83e9e885b99"> 2206</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#adb05ffcbea2d1d329049d83e9e885b99">Break</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;        {</div>
<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> bstmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a>()</div>
<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;            {</div>
<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;                CaseStmt = stmt,</div>
<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;            };</div>
<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;            _cstack.Peek().Statements.Add(bstmt);</div>
<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;        }</div>
<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;</div>
<div class="line"><a name="l02215"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad2d568c79aacdeb5fd639f06616b1695"> 2215</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad2d568c79aacdeb5fd639f06616b1695">EndCase</a>()</div>
<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;        {</div>
<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;            _cstack.Pop();</div>
<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;        }</div>
<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;</div>
<div class="line"><a name="l02220"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a966e4893e03c7fac15e29a6fa8c12fb5"> 2220</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a966e4893e03c7fac15e29a6fa8c12fb5">EndSwitch</a>()</div>
<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;        {</div>
<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;            _sstack.Pop();</div>
<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;        }</div>
<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;</div>
<div class="line"><a name="l02225"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3808c92df1115bdfe19174144b47129e"> 2225</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3808c92df1115bdfe19174144b47129e">Goto</a>()</div>
<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;        {</div>
<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a>();</div>
<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;            <span class="keywordflow">return</span> stmt;</div>
<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;        }</div>
<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;</div>
<div class="line"><a name="l02232"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ab55f77b164344041e44edd100206b81e"> 2232</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ab55f77b164344041e44edd100206b81e">Return</a>()</div>
<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;        {</div>
<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a>();</div>
<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;        }</div>
<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;</div>
<div class="line"><a name="l02238"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a24214bf78df35168634495ecff235535"> 2238</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a24214bf78df35168634495ecff235535">Return</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> returnValue)</div>
<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;        {</div>
<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a>()</div>
<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;            {</div>
<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;                ReturnValue = returnValue</div>
<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;            };</div>
<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;        }</div>
<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;</div>
<div class="line"><a name="l02247"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8723f65605eace316ce682e9affee49b"> 2247</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8723f65605eace316ce682e9affee49b">Throw</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> expr)</div>
<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;        {</div>
<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a>()</div>
<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;            {</div>
<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;                ThrowExpr = expr</div>
<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;            };</div>
<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;        }</div>
<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;</div>
<div class="line"><a name="l02256"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aaa99518d5d250d141f2c2ed77622f5ac"> 2256</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aaa99518d5d250d141f2c2ed77622f5ac">Call</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable.html">ICallable</a> callee, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a>[] arguments)</div>
<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;        {</div>
<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a>()</div>
<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;            {</div>
<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;                Callee = callee,</div>
<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;                Arguments = arguments</div>
<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;            };</div>
<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span>&#160;        }</div>
<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;</div>
<div class="line"><a name="l02266"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a90b0ad9e3e3ab05e6b85b504d3c22c85"> 2266</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a90b0ad9e3e3ab05e6b85b504d3c22c85">Nop</a>()</div>
<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;        {</div>
<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a>();</div>
<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;            _cstack.Peek().Statements.Add(stmt);</div>
<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;        }</div>
<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160;</div>
<div class="line"><a name="l02278"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#af330df570680cb1aa8e83c03a2c10589"> 2278</a></span>&#160;        <span class="keyword">protected</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#af330df570680cb1aa8e83c03a2c10589">CreateUniqueLocal</a>(<span class="keywordtype">string</span> prefix, <a class="code" href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">TypeDescriptor</a> type)</div>
<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;        {</div>
<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> v = UniqueVariable(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>(type)</div>
<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;            {</div>
<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;                Name = prefix</div>
<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;            });</div>
<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;            DeclareLocal(v);</div>
<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;            <span class="keywordflow">return</span> v;</div>
<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;        }</div>
<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;</div>
<div class="line"><a name="l02294"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a782ab78bf4876332d3443e5a7ec43db7"> 2294</a></span>&#160;        <span class="keyword">protected</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a782ab78bf4876332d3443e5a7ec43db7">UniqueVariable</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> var)</div>
<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;        {</div>
<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;            <span class="keywordtype">int</span> count = 0;</div>
<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;            <span class="keywordflow">do</span></div>
<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;            {</div>
<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;                <span class="keywordtype">string</span> tname = (count == 0) ? var.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html#a89e7a38ab856df0d41943245524fd02e">Name</a> : var.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html#a89e7a38ab856df0d41943245524fd02e">Name</a> + <span class="stringliteral">&quot;_&quot;</span> + count;</div>
<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;                ++count;</div>
<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;                <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> tvar = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>(var.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html#aab46d77a29603895f08dc61ee73f4a72">Type</a>)</div>
<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;                {</div>
<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;                    Name = tname</div>
<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;                };</div>
<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;                <span class="keywordflow">if</span> (ResultFunction.LocalVariables.Contains(tvar))</div>
<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160;                <span class="keywordflow">if</span> (ResultFunction.InputVariables.Contains(tvar))</div>
<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>&#160;                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;                <span class="keywordflow">if</span> (ResultFunction.OutputVariables.Contains(tvar))</div>
<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160;</div>
<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160;                <span class="keywordflow">return</span> tvar;</div>
<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160;            } <span class="keywordflow">while</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160;        }</div>
<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;</div>
<div class="line"><a name="l02316"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3ab1d913d4d2aaa5f315166c98665960"> 2316</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3ab1d913d4d2aaa5f315166c98665960">DeclareLocal</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var)</div>
<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;        {</div>
<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;            Contract.Assume(_cstack.Count &gt; 0);</div>
<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;</div>
<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;            _cstack.Peek().Locals.Add(var);</div>
<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;            ResultFunction.LocalVariables.Add(var);</div>
<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;        }</div>
<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;</div>
<div class="line"><a name="l02328"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a59c649778b38166f303ea36b3af0dd2d"> 2328</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a59c649778b38166f303ea36b3af0dd2d">DeclareThis</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a> var)</div>
<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span>&#160;        {</div>
<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;            ResultFunction.ThisVariable = var;</div>
<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;        }</div>
<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;</div>
<div class="line"><a name="l02337"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a6b65e244e43b678e0c249b6d6d871e02"> 2337</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a6b65e244e43b678e0c249b6d6d871e02">DeclareInput</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var)</div>
<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160;        {</div>
<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160;            ResultFunction.InputVariables.Add(var);</div>
<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;        }</div>
<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;</div>
<div class="line"><a name="l02346"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7798dbdcdf1541ac111f617d10d0884f"> 2346</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7798dbdcdf1541ac111f617d10d0884f">DeclareOutput</a>(<a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">IStorableLiteral</a> var)</div>
<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;        {</div>
<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;            ResultFunction.OutputVariables.Add(var);</div>
<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;        }</div>
<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;</div>
<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> HaveAnyStatement</div>
<div class="line"><a name="l02352"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a0fc735ad5c6d87b4349312f3cdcb6abe"> 2352</a></span>&#160;        {</div>
<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _cstack.Peek().Statements.Any(); }</div>
<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;        }</div>
<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;</div>
<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> LastStatement</div>
<div class="line"><a name="l02357"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad2844ab6c3181538f979c4292dd2d459"> 2357</a></span>&#160;        {</div>
<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _cstack.Peek().Statements.Last(); }</div>
<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;        }</div>
<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;</div>
<div class="line"><a name="l02361"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a429ae1d304952a917e2eba66cd1e1732"> 2361</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a429ae1d304952a917e2eba66cd1e1732">RemoveLastStatement</a>()</div>
<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160;        {</div>
<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;            List&lt;Statement&gt; stmts = _cstack.Peek().Statements;</div>
<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;            stmts.RemoveAt(stmts.Count - 1);</div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;        }</div>
<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;</div>
<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> TopStatement</div>
<div class="line"><a name="l02371"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a004f12aaab03a3e1deb6fa63b2c456dc"> 2371</a></span>&#160;        {</div>
<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _sstack.Peek(); }</div>
<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;        }</div>
<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;</div>
<div class="line"><a name="l02375"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aa217a450e882f2ea300c9b26bd6f2e00"> 2375</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aa217a450e882f2ea300c9b26bd6f2e00">Comment</a>(<span class="keywordtype">string</span> comment)</div>
<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;        {</div>
<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> top = _cstack.Peek();</div>
<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span>&#160;            <span class="keywordflow">if</span> (top.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>.Any())</div>
<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;                top.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>.Last().Comment = comment;</div>
<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;                top.Comment = comment;</div>
<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;        }</div>
<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;    }</div>
<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;</div>
<div class="line"><a name="l02385"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html"> 2385</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html">DependendAlgorithmBuilder</a>: </div>
<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html">AbstractAlgorithmBuilder</a></div>
<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;    {</div>
<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> _func;</div>
<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;</div>
<div class="line"><a name="l02390"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html#a91c90ceb85204e0c203f42dd6ee51ad3"> 2390</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html#a91c90ceb85204e0c203f42dd6ee51ad3">DependendAlgorithmBuilder</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> func, <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> root)</div>
<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;        {</div>
<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;            _func = func;</div>
<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d">Reset</a>(root);</div>
<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;        }</div>
<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;</div>
<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> ResultFunction</div>
<div class="line"><a name="l02397"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html#abfa857f873d27647c712913050033f5b"> 2397</a></span>&#160;        {</div>
<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _func; }</div>
<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160;        }</div>
<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160;    }</div>
<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;</div>
<div class="line"><a name="l02406"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html"> 2406</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html">AlgorithmTemplate</a> :</div>
<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html">AbstractAlgorithmBuilder</a>,</div>
<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160;        <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">IFunctionBuilder</a></div>
<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160;    {</div>
<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> _func;</div>
<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160;</div>
<div class="line"><a name="l02415"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a860da95568af146f72de1cca34260108"> 2415</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a860da95568af146f72de1cca34260108">AlgorithmTemplate</a>()</div>
<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;        {</div>
<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;        }</div>
<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;</div>
<div class="line"><a name="l02419"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#ab2b63e89a9ae11bf6beb9d76ccfca3cf"> 2419</a></span>&#160;        <span class="keyword">protected</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#ab2b63e89a9ae11bf6beb9d76ccfca3cf">Reset</a>()</div>
<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160;        {</div>
<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;            base.Reset(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>());</div>
<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;            _func = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a>();</div>
<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160;        }</div>
<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160;</div>
<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;        <span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keywordtype">void</span> DeclareAlgorithm();</div>
<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;</div>
<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;        <span class="keyword">protected</span> <span class="keyword">virtual</span> <span class="keywordtype">string</span> FunctionName</div>
<div class="line"><a name="l02434"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#ad76d3f4ce53de386d68d520870364bd1"> 2434</a></span>&#160;        {</div>
<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> null; }</div>
<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;        }</div>
<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;</div>
<div class="line"><a name="l02442"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a92ca1454718a81eb1a1b40527392a7d5"> 2442</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a92ca1454718a81eb1a1b40527392a7d5">GetAlgorithm</a>()</div>
<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;        {</div>
<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d">Reset</a>();</div>
<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;            DeclareAlgorithm();</div>
<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>)TopStatement;</div>
<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160;            stmt.Statements.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a>());</div>
<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;            StatementLinker.Link(stmt);</div>
<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;            _func.Body = stmt;</div>
<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160;            _func.Name = FunctionName;</div>
<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160;            <span class="keywordflow">return</span> _func;</div>
<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160;        }</div>
<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160;</div>
<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> ResultFunction</div>
<div class="line"><a name="l02455"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a71b3678ce47053dbe378b0d928d0a8c8"> 2455</a></span>&#160;        {</div>
<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _func; }</div>
<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160;        }</div>
<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160;    }</div>
<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160;</div>
<div class="line"><a name="l02463"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html"> 2463</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html">DefaultAlgorithmBuilder</a> : <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html">AbstractAlgorithmBuilder</a></div>
<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;    {</div>
<div class="line"><a name="l02468"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#a3cd47971977040599ceb5b8ff7377af8"> 2468</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#a3cd47971977040599ceb5b8ff7377af8">DefaultAlgorithmBuilder</a>()</div>
<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;        {</div>
<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;            _func = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a>();</div>
<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d">Reset</a>(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>());</div>
<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;        }</div>
<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;</div>
<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> _func;</div>
<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;</div>
<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> ResultFunction</div>
<div class="line"><a name="l02480"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#aa4f2fd26d05519f83c8906acfba98e45"> 2480</a></span>&#160;        {</div>
<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;            <span class="keyword">get</span> { <span class="keywordflow">return</span> _func; }</div>
<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;        }</div>
<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;</div>
<div class="line"><a name="l02488"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#ac1b3322f233b593017658d1142c22f95"> 2488</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#ac1b3322f233b593017658d1142c22f95">Complete</a>()</div>
<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;        {</div>
<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt = (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a>)TopStatement;</div>
<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;            stmt.Statements.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a>());</div>
<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;            StatementLinker.Link(stmt);</div>
<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;            _func.Body = stmt;</div>
<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;            <span class="keywordflow">return</span> _func;</div>
<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;        }</div>
<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160;    }</div>
<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;</div>
<div class="line"><a name="l02501"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html"> 2501</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html">MultiStatementAcceptance</a></div>
<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160;    {</div>
<div class="line"><a name="l02508"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html#ab7371749abe1af030b8489c8a52dff12"> 2508</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html#ab7371749abe1af030b8489c8a52dff12">Accept</a>(<span class="keyword">this</span> IEnumerable&lt;Statement&gt; stmts, <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a> visitor)</div>
<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;        {</div>
<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt <span class="keywordflow">in</span> stmts)</div>
<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;            {</div>
<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;                stmt.Accept(visitor);</div>
<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;            }</div>
<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;        }</div>
<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;    }</div>
<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;</div>
<div class="line"><a name="l02517"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html"> 2517</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html">NopRemover</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;    {</div>
<div class="line"><a name="l02519"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab64012c621b2f7193cc86e63b436bdff"> 2519</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab64012c621b2f7193cc86e63b436bdff">EPass</a></div>
<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;        {</div>
<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160;            Preprocess,</div>
<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160;            Remove</div>
<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160;        }</div>
<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;</div>
<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;        <span class="keyword">private</span> HashSet&lt;Statement&gt; _gotoTargets = <span class="keyword">new</span> HashSet&lt;Statement&gt;();</div>
<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;</div>
<div class="line"><a name="l02527"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab9c064213d9640ef90c6f110ca67034e"> 2527</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab64012c621b2f7193cc86e63b436bdff">EPass</a> Pass { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;</div>
<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;<span class="preprocessor">        #region IStatementVisitor Member</span></div>
<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l02531"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a1728c43852c440ebe6c18e808a9bb3ff"> 2531</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a1728c43852c440ebe6c18e808a9bb3ff">AcceptCompoundStatement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;        {</div>
<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;            <span class="keywordflow">switch</span> (Pass)</div>
<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;            {</div>
<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;                <span class="keywordflow">case</span> EPass.Preprocess:</div>
<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;                    stmt.Statements.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;</div>
<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;                <span class="keywordflow">case</span> EPass.Remove:</div>
<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;                    stmt.Statements.RemoveAll(</div>
<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;                        s =&gt; s is <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> &amp;&amp; !_gotoTargets.Contains(s));</div>
<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160;            }</div>
<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;        }</div>
<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160;</div>
<div class="line"><a name="l02546"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#acec216323428bbfae3509c15b220b062"> 2546</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#acec216323428bbfae3509c15b220b062">AcceptLoopBlock</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160;        {</div>
<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;            stmt.Body.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;        }</div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;</div>
<div class="line"><a name="l02551"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a7363c8df432be18eb7d65b001ae29850"> 2551</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a7363c8df432be18eb7d65b001ae29850">AcceptBreakLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;        {</div>
<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160;        }</div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;</div>
<div class="line"><a name="l02555"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a5d46e20d3e6442daeec26e338ddc8198"> 2555</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a5d46e20d3e6442daeec26e338ddc8198">AcceptContinueLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;        {</div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;        }</div>
<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;</div>
<div class="line"><a name="l02559"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ac60b917de24423ffae4ee3e74b715e26"> 2559</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ac60b917de24423ffae4ee3e74b715e26">AcceptIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;        {</div>
<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160;            stmt.Branches.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160;        }</div>
<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;</div>
<div class="line"><a name="l02564"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a9dfdb4ce201937881be6502674c709f5"> 2564</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a9dfdb4ce201937881be6502674c709f5">AcceptCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;        {</div>
<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;            stmt.Branches.Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;        }</div>
<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;</div>
<div class="line"><a name="l02569"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ae837de75e29439a3e2e0d3c837c38228"> 2569</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ae837de75e29439a3e2e0d3c837c38228">AcceptStore</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;        {</div>
<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;        }</div>
<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;</div>
<div class="line"><a name="l02573"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a952b43507dc24b402b723c6abe7ca76f"> 2573</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a952b43507dc24b402b723c6abe7ca76f">AcceptNop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160;        {</div>
<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;        }</div>
<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160;</div>
<div class="line"><a name="l02577"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#af48b1ae826ca25abb124a642064da121"> 2577</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#af48b1ae826ca25abb124a642064da121">AcceptSolve</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;        {</div>
<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160;        }</div>
<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;</div>
<div class="line"><a name="l02581"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab14a6c0b1221c55e3d0cb0c84392cf2b"> 2581</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab14a6c0b1221c55e3d0cb0c84392cf2b">AcceptBreakCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;        {</div>
<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;        }</div>
<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160;</div>
<div class="line"><a name="l02585"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a524cae6b9b90234302cc14ed60a769bd"> 2585</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a524cae6b9b90234302cc14ed60a769bd">AcceptGotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160;        {</div>
<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160;        }</div>
<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160;</div>
<div class="line"><a name="l02589"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3cc24a630e3a04a8901c1756daf1d90"> 2589</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3cc24a630e3a04a8901c1756daf1d90">AcceptGoto</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;        {</div>
<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;            <span class="keywordflow">switch</span> (Pass)</div>
<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160;            {</div>
<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160;                <span class="keywordflow">case</span> EPass.Preprocess:</div>
<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160;                    _gotoTargets.Add(stmt.Target);</div>
<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160;</div>
<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160;                <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;            }</div>
<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160;        }</div>
<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160;</div>
<div class="line"><a name="l02602"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a22c3ff32d102c346bc23de63676a8f17"> 2602</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a22c3ff32d102c346bc23de63676a8f17">AcceptReturn</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160;        {</div>
<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160;        }</div>
<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;</div>
<div class="line"><a name="l02606"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a40f26690c79faec905eae9769ff7151e"> 2606</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a40f26690c79faec905eae9769ff7151e">AcceptThrow</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;        {</div>
<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160;        }</div>
<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160;</div>
<div class="line"><a name="l02610"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3def7f76646ce3864b6ffce1929b6b4"> 2610</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3def7f76646ce3864b6ffce1929b6b4">AcceptCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160;        {</div>
<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;        }</div>
<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;</div>
<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160;<span class="preprocessor">        #endregion</span></div>
<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;<span class="preprocessor"></span>    }</div>
<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160;</div>
<div class="line"><a name="l02621"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html"> 2621</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html">NopRemoval</a></div>
<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;    {</div>
<div class="line"><a name="l02627"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html#a8527d6b679d5553107c34615c9cbf9fd"> 2627</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html#a8527d6b679d5553107c34615c9cbf9fd">RemoveNops</a>(<span class="keyword">this</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt)</div>
<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;        {</div>
<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html">NopRemover</a> nrm = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html">NopRemover</a>();</div>
<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;            stmt.Accept(nrm);</div>
<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;            nrm.Pass = NopRemover.EPass.Remove;</div>
<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160;            stmt.Accept(nrm);</div>
<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;        }</div>
<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160;    }</div>
<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;</div>
<div class="line"><a name="l02639"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html"> 2639</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a> : Exception</div>
<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160;    {</div>
<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;    }</div>
<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160;</div>
<div class="line"><a name="l02643"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html"> 2643</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html">InlineExpressionConverter</a> : <a class="code" href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">IStatementVisitor</a></div>
<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160;    {</div>
<div class="line"><a name="l02645"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7924a926c8f18137c3d42cb60de7f182"> 2645</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> <a class="code" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a8eea62084ca7e541d918e823422bd82e">Result</a> { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160;</div>
<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160;<span class="preprocessor">        #region IStatementVisitor Member</span></div>
<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l02649"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7003422217e3d621feb42b5b8dd452df"> 2649</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7003422217e3d621feb42b5b8dd452df">AcceptCompoundStatement</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">CompoundStatement</a> stmt)</div>
<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160;        {</div>
<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160;            <span class="keywordflow">if</span> (stmt.<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">Statements</a>.Count == 1)</div>
<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160;                stmt.Statements.Single().Accept(<span class="keyword">this</span>);</div>
<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160;        }</div>
<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160;</div>
<div class="line"><a name="l02657"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a2db94d93aa08a7b1aee4c1a206a9f5e3"> 2657</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a2db94d93aa08a7b1aee4c1a206a9f5e3">AcceptLoopBlock</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">LoopBlock</a> stmt)</div>
<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160;        {</div>
<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160;        }</div>
<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160;</div>
<div class="line"><a name="l02662"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#ad0d605f650e5dbcbdc5232727a930683"> 2662</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#ad0d605f650e5dbcbdc5232727a930683">AcceptBreakLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">BreakLoopStatement</a> stmt)</div>
<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160;        {</div>
<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160;        }</div>
<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160;</div>
<div class="line"><a name="l02667"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a3e3b803afa44da76a03549fb3788c756"> 2667</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a3e3b803afa44da76a03549fb3788c756">AcceptContinueLoop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">ContinueLoopStatement</a> stmt)</div>
<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160;        {</div>
<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160;        }</div>
<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160;</div>
<div class="line"><a name="l02672"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a5f177eba38bfaea4d1f3cac103b10919"> 2672</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a5f177eba38bfaea4d1f3cac103b10919">AcceptIf</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">IfStatement</a> stmt)</div>
<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160;        {</div>
<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160;        }</div>
<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160;</div>
<div class="line"><a name="l02677"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4e812551c92ead2337a15bb5cf61adbd"> 2677</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4e812551c92ead2337a15bb5cf61adbd">AcceptCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">CaseStatement</a> stmt)</div>
<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160;        {</div>
<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160;        }</div>
<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;</div>
<div class="line"><a name="l02682"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a0c6b155669e8115aaffffb38c00190c6"> 2682</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a0c6b155669e8115aaffffb38c00190c6">AcceptStore</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">StoreStatement</a> stmt)</div>
<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160;        {</div>
<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160;        }</div>
<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160;</div>
<div class="line"><a name="l02687"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a6aa140be84ca10b4a1c98427744feeac"> 2687</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a6aa140be84ca10b4a1c98427744feeac">AcceptNop</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">NopStatement</a> stmt)</div>
<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160;        {</div>
<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160;        }</div>
<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160;</div>
<div class="line"><a name="l02692"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7b72d9d80ac0bf02da9462197394ecf7"> 2692</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7b72d9d80ac0bf02da9462197394ecf7">AcceptSolve</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SolveStatement</a> stmt)</div>
<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160;        {</div>
<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160;        }</div>
<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160;</div>
<div class="line"><a name="l02697"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#aee0ea10cbd1434250815f563df8dd265"> 2697</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#aee0ea10cbd1434250815f563df8dd265">AcceptBreakCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">BreakCaseStatement</a> stmt)</div>
<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160;        {</div>
<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;        }</div>
<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160;</div>
<div class="line"><a name="l02702"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a480ae4c74c454683ae8cd404b65a7aaa"> 2702</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a480ae4c74c454683ae8cd404b65a7aaa">AcceptGotoCase</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">GotoCaseStatement</a> stmt)</div>
<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160;        {</div>
<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160;        }</div>
<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160;</div>
<div class="line"><a name="l02707"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4c5fc246c717d1576a1c117b01b7a51e"> 2707</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4c5fc246c717d1576a1c117b01b7a51e">AcceptGoto</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">GotoStatement</a> stmt)</div>
<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160;        {</div>
<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160;        }</div>
<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160;</div>
<div class="line"><a name="l02712"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a54fc5894caea491641bb170380c7d15d"> 2712</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a54fc5894caea491641bb170380c7d15d">AcceptReturn</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">ReturnStatement</a> stmt)</div>
<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160;        {</div>
<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160;            <a class="code" href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a8eea62084ca7e541d918e823422bd82e">Result</a> = stmt.ReturnValue;</div>
<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span>&#160;        }</div>
<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160;</div>
<div class="line"><a name="l02717"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a9af89994368141ffe93f750a22c392ba"> 2717</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a9af89994368141ffe93f750a22c392ba">AcceptThrow</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">ThrowStatement</a> stmt)</div>
<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160;        {</div>
<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span>&#160;        }</div>
<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span>&#160;</div>
<div class="line"><a name="l02722"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a23eadda1e843ac521f4c4f697d9749c8"> 2722</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a23eadda1e843ac521f4c4f697d9749c8">AcceptCall</a>(<a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">CallStatement</a> stmt)</div>
<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span>&#160;        {</div>
<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160;            <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">NotConvertibleToInlineExpressionException</a>();</div>
<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160;        }</div>
<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span>&#160;</div>
<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;<span class="preprocessor">        #endregion</span></div>
<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;<span class="preprocessor"></span>    }</div>
<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160;</div>
<div class="line"><a name="l02733"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html"> 2733</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html">InlineExpressionConversion</a></div>
<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span>&#160;    {</div>
<div class="line"><a name="l02741"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html#a60bb0e1a2b48da5aa722fae33f115f08"> 2741</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">Expression</a> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html#a60bb0e1a2b48da5aa722fae33f115f08">ToInlineExpression</a>(<span class="keyword">this</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">Statement</a> stmt)</div>
<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160;        {</div>
<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span>&#160;            stmt.RemoveNops();</div>
<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span>&#160;            <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html">InlineExpressionConverter</a> iec = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html">InlineExpressionConverter</a>();</div>
<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span>&#160;            stmt.Accept(iec);</div>
<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span>&#160;            <span class="keywordflow">return</span> iec.Result;</div>
<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span>&#160;        }</div>
<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160;    }</div>
<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160;}</div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement_html_a6043c02b6fdc7617b72481a4ece92f5d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a6043c02b6fdc7617b72481a4ece92f5d">SystemSharp.SysDOM.StoreStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01035">Algorithms.cs:1035</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_ab9f635fa18ab8ff3df101f30a318c3fb"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab9f635fa18ab8ff3df101f30a318c3fb">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptBreakLoop</a></div><div class="ttdeci">void AcceptBreakLoop(BreakLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01354">Algorithms.cs:1354</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a4e812551c92ead2337a15bb5cf61adbd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4e812551c92ead2337a15bb5cf61adbd">SystemSharp.SysDOM.InlineExpressionConverter.AcceptCase</a></div><div class="ttdeci">void AcceptCase(CaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02677">Algorithms.cs:2677</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_aaa99518d5d250d141f2c2ed77622f5ac"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aaa99518d5d250d141f2c2ed77622f5ac">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Call</a></div><div class="ttdeci">virtual void Call(ICallable callee, Expression[] arguments)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02256">Algorithms.cs:2256</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_af330df570680cb1aa8e83c03a2c10589"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#af330df570680cb1aa8e83c03a2c10589">SystemSharp.SysDOM.AbstractAlgorithmBuilder.CreateUniqueLocal</a></div><div class="ttdeci">Variable CreateUniqueLocal(string prefix, TypeDescriptor type)</div><div class="ttdoc">Creates a new local variable. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02278">Algorithms.cs:2278</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aaa0e907037fd56ecc64d3bf79723ba3f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aaa0e907037fd56ecc64d3bf79723ba3f">SystemSharp.SysDOM.StmtVariableReplacer.AcceptGoto</a></div><div class="ttdeci">void AcceptGoto(GotoStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01309">Algorithms.cs:1309</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_base_html_ac25aa4b23c7f947675f181818f192f4c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#ac25aa4b23c7f947675f181818f192f4c">SystemSharp.SysDOM.FunctionBase.FunctionBase</a></div><div class="ttdeci">FunctionBase()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01546">Algorithms.cs:1546</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template_html_a860da95568af146f72de1cca34260108"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a860da95568af146f72de1cca34260108">SystemSharp.SysDOM.AlgorithmTemplate.AlgorithmTemplate</a></div><div class="ttdeci">AlgorithmTemplate()</div><div class="ttdoc">Constructs a new instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02415">Algorithms.cs:2415</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ab3def7f76646ce3864b6ffce1929b6b4"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3def7f76646ce3864b6ffce1929b6b4">SystemSharp.SysDOM.NopRemover.AcceptCall</a></div><div class="ttdeci">void AcceptCall(CallStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02610">Algorithms.cs:2610</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement_html_a678848b5066b6fd25f45481ee8543f47"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#a678848b5066b6fd25f45481ee8543f47">SystemSharp.SysDOM.SolveStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00976">Algorithms.cs:976</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement_html_a38e8bab62f3c7e8d90becef0883e89f8"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#a38e8bab62f3c7e8d90becef0883e89f8">SystemSharp.SysDOM.CallStatement.Arguments</a></div><div class="ttdeci">Expression[] Arguments</div><div class="ttdoc">The call arguments. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00768">Algorithms.cs:768</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance_html_ab7371749abe1af030b8489c8a52dff12"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html#ab7371749abe1af030b8489c8a52dff12">SystemSharp.SysDOM.MultiStatementAcceptance.Accept</a></div><div class="ttdeci">static void Accept(this IEnumerable&lt; Statement &gt; stmts, IStatementVisitor visitor)</div><div class="ttdoc">Applies a visitor to each statement inside the enumeration. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02508">Algorithms.cs:2508</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html">SystemSharp.SysDOM.GotoStatement</a></div><div class="ttdoc">Models a &quot;goto&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00657">Algorithms.cs:657</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a32290929a9da82490bd661b0d9f0b6a9"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a32290929a9da82490bd661b0d9f0b6a9">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptContinueLoop</a></div><div class="ttdeci">void AcceptContinueLoop(ContinueLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01359">Algorithms.cs:1359</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a0842e6398b9bedaf52fdc8be72a2a0ea"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a0842e6398b9bedaf52fdc8be72a2a0ea">SystemSharp.SysDOM.StmtVariableReplacer.AcceptCall</a></div><div class="ttdeci">void AcceptCall(CallStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01324">Algorithms.cs:1324</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_simple_statement.html">SystemSharp.SysDOM.SimpleStatement</a></div><div class="ttdoc">A simple statement does never have any inner statement(s). </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00465">Algorithms.cs:465</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_attributed_object_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_attributed_object.html">SystemSharp.SysDOM.AttributedObject</a></div><div class="ttdoc">Provides a default implementation of the IAttributed interface. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l01032">CoreAlgebraic.cs:1032</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_variable_html_aab46d77a29603895f08dc61ee73f4a72"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html#aab46d77a29603895f08dc61ee73f4a72">SystemSharp.SysDOM.Variable.Type</a></div><div class="ttdeci">override TypeDescriptor Type</div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00216">Literals.cs:216</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a98cb02511e884a55d2099ffd9c0855ff"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a98cb02511e884a55d2099ffd9c0855ff">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptReturn</a></div><div class="ttdeci">void AcceptReturn(ReturnStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01497">Algorithms.cs:1497</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a3e84ef55f7d6d6d80b625f657b189d26"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3e84ef55f7d6d6d80b625f657b189d26">SystemSharp.SysDOM.AbstractAlgorithmBuilder.GotoCase</a></div><div class="ttdeci">virtual void GotoCase(CaseStatement cstmt, int index)</div><div class="ttdoc">Hands program flow over to a different branch of the a &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02196">Algorithms.cs:2196</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a782ab78bf4876332d3443e5a7ec43db7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a782ab78bf4876332d3443e5a7ec43db7">SystemSharp.SysDOM.AbstractAlgorithmBuilder.UniqueVariable</a></div><div class="ttdeci">Variable UniqueVariable(Variable var)</div><div class="ttdoc">Ensures that a given local variable does not have the same name as any existing input argument...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02294">Algorithms.cs:2294</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a770985666a630b669d46276588df7750"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a770985666a630b669d46276588df7750">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptCase</a></div><div class="ttdeci">void AcceptCase(CaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01461">Algorithms.cs:1461</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aee2eed23f947129a502d5ff9fee95dc1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aee2eed23f947129a502d5ff9fee95dc1">SystemSharp.SysDOM.StmtVariableReplacer.AcceptCase</a></div><div class="ttdeci">void AcceptCase(CaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01268">Algorithms.cs:1268</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a524cae6b9b90234302cc14ed60a769bd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a524cae6b9b90234302cc14ed60a769bd">SystemSharp.SysDOM.NopRemover.AcceptGotoCase</a></div><div class="ttdeci">void AcceptGotoCase(GotoCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02585">Algorithms.cs:2585</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html_a3e0311c2192d531acd252870b90971a4"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3e0311c2192d531acd252870b90971a4">SystemSharp.SysDOM.CaseStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00910">Algorithms.cs:910</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html">SystemSharp.SysDOM.NopRemoval</a></div><div class="ttdoc">This static class provides a helper extension for removing all inner &quot;do nothing&quot; statements from a g...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02621">Algorithms.cs:2621</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a087ba9305e07f5f296b890a5b97a274d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a087ba9305e07f5f296b890a5b97a274d">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptGoto</a></div><div class="ttdeci">void AcceptGoto(GotoStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01493">Algorithms.cs:1493</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement_html_a0afa7ccc198c728d79c274a864d585df"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a0afa7ccc198c728d79c274a864d585df">SystemSharp.SysDOM.NopStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01060">Algorithms.cs:1060</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_function_builder.html">SystemSharp.SysDOM.IFunctionBuilder</a></div><div class="ttdoc">Extends the algorithm builder interface by the capability of creating a SysDOM function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01810">Algorithms.cs:1810</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_a2c838b9012de73a7daf18904d5fbf4af"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a2c838b9012de73a7daf18904d5fbf4af">SystemSharp.SysDOM.Statement.CheckConsistency</a></div><div class="ttdeci">void CheckConsistency()</div><div class="ttdoc">Performs a consistency check on the statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00217">Algorithms.cs:217</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a8faa3912d7b9af0b8119fba0c5ac92c2"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8faa3912d7b9af0b8119fba0c5ac92c2">SystemSharp.SysDOM.AbstractAlgorithmBuilder.BeginSubAlgorithm</a></div><div class="ttdeci">virtual IAlgorithmBuilder BeginSubAlgorithm()</div><div class="ttdoc">Forks a new algorithm builder at the current position. To achieve this, a compound statement is inser...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02025">Algorithms.cs:2025</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_aad05bd9a2af6ab3a7b5db48a79984c62"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#aad05bd9a2af6ab3a7b5db48a79984c62">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptSolve</a></div><div class="ttdeci">void AcceptSolve(SolveStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01391">Algorithms.cs:1391</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a76ffab04c5c717ffb8900d627b49c105"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a76ffab04c5c717ffb8900d627b49c105">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptStore</a></div><div class="ttdeci">void AcceptStore(StoreStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01381">Algorithms.cs:1381</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement_html_a571e9f93bfe62a08527f7ecfd5a003fe"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#a571e9f93bfe62a08527f7ecfd5a003fe">SystemSharp.SysDOM.GotoCaseStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00632">Algorithms.cs:632</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement_html_a0d69a9a0965252712d0ba2d876921558"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a0d69a9a0965252712d0ba2d876921558">SystemSharp.SysDOM.BreakLoopStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00492">Algorithms.cs:492</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_state_function_html_ab025c8e6a24add4a3bd9659d0c4486a2"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab025c8e6a24add4a3bd9659d0c4486a2">SystemSharp.SysDOM.StateFunction.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01615">Algorithms.cs:1615</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html">SystemSharp.SysDOM.SolveStatement</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00972">Algorithms.cs:972</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_state_function_html_a66ea9594fc070f9fd53822fb853a13bd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#a66ea9594fc070f9fd53822fb853a13bd">SystemSharp.SysDOM.StateFunction.CheckConsistency</a></div><div class="ttdeci">override void CheckConsistency()</div><div class="ttdoc">Performs a consistency check. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01609">Algorithms.cs:1609</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a8723f65605eace316ce682e9affee49b"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8723f65605eace316ce682e9affee49b">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Throw</a></div><div class="ttdeci">virtual void Throw(Expression expr)</div><div class="ttdoc">Emits a &quot;throw exception&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02247">Algorithms.cs:2247</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement_html_a717b6e4f10c25103ffa8505b76190ac1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#a717b6e4f10c25103ffa8505b76190ac1">SystemSharp.SysDOM.BreakCaseStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00594">Algorithms.cs:594</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_control_statement.html">SystemSharp.SysDOM.LoopControlStatement</a></div><div class="ttdoc">Abstract base class for &quot;break loop&quot; and &quot;continue loop&quot;. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00479">Algorithms.cs:479</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion_html_a60bb0e1a2b48da5aa722fae33f115f08"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html#a60bb0e1a2b48da5aa722fae33f115f08">SystemSharp.SysDOM.InlineExpressionConversion.ToInlineExpression</a></div><div class="ttdeci">static Expression ToInlineExpression(this Statement stmt)</div><div class="ttdoc">Converts the statement to an inline expression. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02741">Algorithms.cs:2741</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement_html_a2bab6c44a11e4ed9b39bb3e37e37cf0e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a2bab6c44a11e4ed9b39bb3e37e37cf0e">SystemSharp.SysDOM.ThrowStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00732">Algorithms.cs:732</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a32bc3c8c885f835843dbd3b09b88cfc0"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a32bc3c8c885f835843dbd3b09b88cfc0">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptCall</a></div><div class="ttdeci">void AcceptCall(CallStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01506">Algorithms.cs:1506</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html">SystemSharp.SysDOM.ScopedStatement</a></div><div class="ttdoc">Abstract base class for statements which have their own scope for local variables. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00242">Algorithms.cs:242</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_a8e6691bd09dcc1236b7eb8d59bc2ad75"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8e6691bd09dcc1236b7eb8d59bc2ad75">SystemSharp.SysDOM.Statement.Statement</a></div><div class="ttdeci">Statement()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00140">Algorithms.cs:140</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_expression_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html">SystemSharp.SysDOM.Expression</a></div><div class="ttdoc">An expression. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l01096">CoreAlgebraic.cs:1096</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a5ca83190933cadaf748820106b876781"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5ca83190933cadaf748820106b876781">SystemSharp.SysDOM.StmtVariableReplacer.AcceptBreakLoop</a></div><div class="ttdeci">void AcceptBreakLoop(BreakLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01250">Algorithms.cs:1250</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_expression_html_ae0af2e8127f24d85216108cf9747643f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_expression.html#ae0af2e8127f24d85216108cf9747643f">SystemSharp.SysDOM.Expression.MatchFunction</a></div><div class="ttdeci">delegate bool MatchFunction(Expression e)</div><div class="ttdoc">Matches an expression for some preficate. </div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html">SystemSharp.SysDOM.StoreStatement</a></div><div class="ttdoc">Models a field/variable assignment or a signal transfer. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01018">Algorithms.cs:1018</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a7b72d9d80ac0bf02da9462197394ecf7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7b72d9d80ac0bf02da9462197394ecf7">SystemSharp.SysDOM.InlineExpressionConverter.AcceptSolve</a></div><div class="ttdeci">void AcceptSolve(SolveStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02692">Algorithms.cs:2692</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_ade2e97d80cb8c5e439f555bd7fce94fd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#ade2e97d80cb8c5e439f555bd7fce94fd">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptThrow</a></div><div class="ttdeci">void AcceptThrow(ThrowStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01501">Algorithms.cs:1501</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement_html_ad9de856f7a9845d5539d4fb7269b0f09"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ad9de856f7a9845d5539d4fb7269b0f09">SystemSharp.SysDOM.ReturnStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00716">Algorithms.cs:716</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement_html_aa8a96f69f05ffebcc813a6ca241a3993"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#aa8a96f69f05ffebcc813a6ca241a3993">SystemSharp.SysDOM.GotoStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00664">Algorithms.cs:664</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a2040b73b3c316cac0b1dcb78f82f08d4"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a2040b73b3c316cac0b1dcb78f82f08d4">SystemSharp.SysDOM.AbstractAlgorithmBuilder.AbstractAlgorithmBuilder</a></div><div class="ttdeci">AbstractAlgorithmBuilder()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01996">Algorithms.cs:1996</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_aa808dddf1d44133393a6ac72d2f76793"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aa808dddf1d44133393a6ac72d2f76793">SystemSharp.SysDOM.AlgorithmBuilderContractClass.EndCase</a></div><div class="ttdeci">void EndCase()</div><div class="ttdoc">Ends the current case of the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01915">Algorithms.cs:1915</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a7767f3110768943938714745cd2702f8"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7767f3110768943938714745cd2702f8">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Case</a></div><div class="ttdeci">virtual void Case(Expression cond)</div><div class="ttdoc">Adds a case to the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02179">Algorithms.cs:2179</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a952b43507dc24b402b723c6abe7ca76f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a952b43507dc24b402b723c6abe7ca76f">SystemSharp.SysDOM.NopRemover.AcceptNop</a></div><div class="ttdeci">void AcceptNop(NopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02573">Algorithms.cs:2573</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_html_ad1462ef919f604a7a851d968c293a95f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ad1462ef919f604a7a851d968c293a95f">SystemSharp.SysDOM.Function.Function</a></div><div class="ttdeci">Function()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01572">Algorithms.cs:1572</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_callable.html">SystemSharp.SysDOM.ICallable</a></div><div class="ttdoc">Common interface for everything which may be called as a function. </div><div class="ttdef"><b>Definition:</b> <a href="_core_algebraic_8cs_source.html#l03339">CoreAlgebraic.cs:3339</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a6b65e244e43b678e0c249b6d6d871e02"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a6b65e244e43b678e0c249b6d6d871e02">SystemSharp.SysDOM.AbstractAlgorithmBuilder.DeclareInput</a></div><div class="ttdeci">void DeclareInput(IStorableLiteral var)</div><div class="ttdoc">Declares a literal as input argument. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02337">Algorithms.cs:2337</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a1832a6aed274a8c9d2bb3a482331dfa1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1832a6aed274a8c9d2bb3a482331dfa1">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Switch</a></div><div class="ttdeci">virtual CaseStatement Switch(Expression selector)</div><div class="ttdoc">Begins a &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02168">Algorithms.cs:2168</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a3808c92df1115bdfe19174144b47129e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3808c92df1115bdfe19174144b47129e">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Goto</a></div><div class="ttdeci">virtual GotoStatement Goto()</div><div class="ttdoc">Emits a &quot;goto&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02225">Algorithms.cs:2225</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a5f177eba38bfaea4d1f3cac103b10919"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a5f177eba38bfaea4d1f3cac103b10919">SystemSharp.SysDOM.InlineExpressionConverter.AcceptIf</a></div><div class="ttdeci">void AcceptIf(IfStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02672">Algorithms.cs:2672</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement_html_aad713ccd1af5b3f3be7732f9d55ea176"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#aad713ccd1af5b3f3be7732f9d55ea176">SystemSharp.SysDOM.ThrowStatement.ThrowExpr</a></div><div class="ttdeci">Expression ThrowExpr</div><div class="ttdoc">The thrown expression. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00730">Algorithms.cs:730</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ab3cc24a630e3a04a8901c1756daf1d90"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab3cc24a630e3a04a8901c1756daf1d90">SystemSharp.SysDOM.NopRemover.AcceptGoto</a></div><div class="ttdeci">void AcceptGoto(GotoStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02589">Algorithms.cs:2589</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_ad9cbf612cadeea2847bdb2ee0d566846"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ad9cbf612cadeea2847bdb2ee0d566846">SystemSharp.SysDOM.AlgorithmBuilderContractClass.EndLoop</a></div><div class="ttdeci">void EndLoop()</div><div class="ttdoc">Ends the current loop statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01868">Algorithms.cs:1868</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_aae93f24b4a3a31714bd371ef37247c97"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#aae93f24b4a3a31714bd371ef37247c97">SystemSharp.SysDOM.Statement.Successor</a></div><div class="ttdeci">Statement Successor</div><div class="ttdoc">The following statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00096">Algorithms.cs:96</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html">SystemSharp.SysDOM.DependendAlgorithmBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02385">Algorithms.cs:2385</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal_html_a8527d6b679d5553107c34615c9cbf9fd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_removal.html#a8527d6b679d5553107c34615c9cbf9fd">SystemSharp.SysDOM.NopRemoval.RemoveNops</a></div><div class="ttdeci">static void RemoveNops(this Statement stmt)</div><div class="ttdoc">Removes all inner &quot;do nothing&quot; statements. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02627">Algorithms.cs:2627</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a42b876030a8d723bf1800396d0a8c6ed"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a42b876030a8d723bf1800396d0a8c6ed">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Nop</a></div><div class="ttdeci">void Nop()</div><div class="ttdoc">Emits a &quot;do nothing&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01949">Algorithms.cs:1949</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a7003422217e3d621feb42b5b8dd452df"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a7003422217e3d621feb42b5b8dd452df">SystemSharp.SysDOM.InlineExpressionConverter.AcceptCompoundStatement</a></div><div class="ttdeci">void AcceptCompoundStatement(CompoundStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02649">Algorithms.cs:2649</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_a5a1fc2f91b61a3980e66f4fd3500d89a"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a5a1fc2f91b61a3980e66f4fd3500d89a">SystemSharp.SysDOM.Statement.AcceptIfEnabled</a></div><div class="ttdeci">void AcceptIfEnabled(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a visitor, but only if the statement is not subject to elimination. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00123">Algorithms.cs:123</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_variable_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">SystemSharp.SysDOM.Variable</a></div><div class="ttdoc">A local variable. </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00195">Literals.cs:195</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_ac118d5722f22e592ded4954db32ae99d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac118d5722f22e592ded4954db32ae99d">SystemSharp.SysDOM.Statement.ReplaceExpressions</a></div><div class="ttdeci">void ReplaceExpressions(Expression.MatchFunction matchFn, ExpressionGenerator exprGen)</div><div class="ttdoc">Replaces all expressions that match a certain predicate. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00227">Algorithms.cs:227</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html">SystemSharp.SysDOM.BreakCaseStatement</a></div><div class="ttdoc">Models a &quot;break case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00582">Algorithms.cs:582</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a966e4893e03c7fac15e29a6fa8c12fb5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a966e4893e03c7fac15e29a6fa8c12fb5">SystemSharp.SysDOM.AbstractAlgorithmBuilder.EndSwitch</a></div><div class="ttdeci">virtual void EndSwitch()</div><div class="ttdoc">Ends the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02220">Algorithms.cs:2220</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker_html_ab3cf8bdafa7654ac6bc6911c5a8faea1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html#ab3cf8bdafa7654ac6bc6911c5a8faea1">SystemSharp.SysDOM.StatementLinker.Link</a></div><div class="ttdeci">static void Link(Statement stmt)</div><div class="ttdoc">Analyzes the statement tree and determines the Successor property of each statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01189">Algorithms.cs:1189</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_ac9436376dbc26093364efcdc0afed6be"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#ac9436376dbc26093364efcdc0afed6be">SystemSharp.SysDOM.Statement.IsEliminated</a></div><div class="ttdeci">bool IsEliminated</div><div class="ttdoc">Evaluates EliminationPredicate and returns the outcome. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00133">Algorithms.cs:133</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html">SystemSharp.SysDOM.Statement</a></div><div class="ttdoc">Abstract base class for a SysDOM statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00059">Algorithms.cs:59</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_aab2e8b589efc3eafd56c0a5282046725"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aab2e8b589efc3eafd56c0a5282046725">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Case</a></div><div class="ttdeci">void Case(Expression cond)</div><div class="ttdoc">Adds a case to the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01893">Algorithms.cs:1893</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement_html_aefd0a1c7ce9af49dc7558336a9472315"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#aefd0a1c7ce9af49dc7558336a9472315">SystemSharp.SysDOM.BreakLoopStatement.Equals</a></div><div class="ttdeci">override bool Equals(object obj)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00519">Algorithms.cs:519</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement_html_a788ff2355f2855c3cb970035ca6ff7d4"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a788ff2355f2855c3cb970035ca6ff7d4">SystemSharp.SysDOM.ContinueLoopStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00538">Algorithms.cs:538</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html">SystemSharp.SysDOM.AlgorithmBuilderContractClass</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01819">Algorithms.cs:1819</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_abdc7da43cd7751cfa8f9571e82eac3bb"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#abdc7da43cd7751cfa8f9571e82eac3bb">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptReturn</a></div><div class="ttdeci">void AcceptReturn(ReturnStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01415">Algorithms.cs:1415</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html">SystemSharp.SysDOM.IfStatement</a></div><div class="ttdoc">Models an &quot;if-then-elsif-...-else&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00804">Algorithms.cs:804</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">SystemSharp.SysDOM.Function</a></div><div class="ttdoc">Models a SysDOM function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01562">Algorithms.cs:1562</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a1484693b1470353b6712a638d0e82be0"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a1484693b1470353b6712a638d0e82be0">SystemSharp.SysDOM.AbstractAlgorithmBuilder.If</a></div><div class="ttdeci">virtual IfStatement If(Expression cond)</div><div class="ttdoc">Begins an &quot;if-then(-else-if)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02032">Algorithms.cs:2032</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ab14a6c0b1221c55e3d0cb0c84392cf2b"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab14a6c0b1221c55e3d0cb0c84392cf2b">SystemSharp.SysDOM.NopRemover.AcceptBreakCase</a></div><div class="ttdeci">void AcceptBreakCase(BreakCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02581">Algorithms.cs:2581</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a3c565183f3320e856083e2f14b83b9ec"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3c565183f3320e856083e2f14b83b9ec">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Loop</a></div><div class="ttdeci">LoopBlock Loop()</div><div class="ttdoc">Begins a loop statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01852">Algorithms.cs:1852</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a7e934cbe54b376ed5a2f5dfc194246c7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a7e934cbe54b376ed5a2f5dfc194246c7">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Comment</a></div><div class="ttdeci">void Comment(string comment)</div><div class="ttdoc">Adds a comment to the last output statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01973">Algorithms.cs:1973</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement_html_ab21ebf237d5dbd34adf2d817ebf2c737"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#ab21ebf237d5dbd34adf2d817ebf2c737">SystemSharp.SysDOM.IfStatement.Branches</a></div><div class="ttdeci">List&lt; Statement &gt; Branches</div><div class="ttdoc">The list of then/elsif/else branches. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00827">Algorithms.cs:827</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_meta_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_meta_statement.html">SystemSharp.SysDOM.MetaStatement</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00253">Algorithms.cs:253</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ac60b917de24423ffae4ee3e74b715e26"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ac60b917de24423ffae4ee3e74b715e26">SystemSharp.SysDOM.NopRemover.AcceptIf</a></div><div class="ttdeci">void AcceptIf(IfStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02559">Algorithms.cs:2559</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a3b3dc93fc2b2d3370efdf84dcc7621e7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3b3dc93fc2b2d3370efdf84dcc7621e7">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptBreakLoop</a></div><div class="ttdeci">void AcceptBreakLoop(BreakLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01445">Algorithms.cs:1445</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement_html_adaee1d7b9e95a48ed8e3185d86a7c571"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_case_statement.html#adaee1d7b9e95a48ed8e3185d86a7c571">SystemSharp.SysDOM.BreakCaseStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00589">Algorithms.cs:589</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_algorithm_builder.html">SystemSharp.SysDOM.IAlgorithmBuilder</a></div><div class="ttdoc">Algorithm builder interface for meta-programming. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01634">Algorithms.cs:1634</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_literal_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_literal.html">SystemSharp.SysDOM.Literal</a></div><div class="ttdoc">Abstract base class for literals. </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00091">Literals.cs:91</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement_html_a72013d512d425bd02682ee125475434f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a72013d512d425bd02682ee125475434f">SystemSharp.SysDOM.CompoundStatement.CompoundStatement</a></div><div class="ttdeci">CompoundStatement()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00265">Algorithms.cs:265</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html">SystemSharp.SysDOM.GotoCaseStatement</a></div><div class="ttdoc">Models to &quot;goto case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00615">Algorithms.cs:615</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_afe79d934a531deacde22c16bb6f49c06"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#afe79d934a531deacde22c16bb6f49c06">SystemSharp.SysDOM.AbstractAlgorithmBuilder.EndIf</a></div><div class="ttdeci">virtual void EndIf()</div><div class="ttdoc">Ends the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02063">Algorithms.cs:2063</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_ac8fa7d11004e37797c5b5ff5a2f91bf1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#ac8fa7d11004e37797c5b5ff5a2f91bf1">SystemSharp.SysDOM.AlgorithmBuilderContractClass.DefaultCase</a></div><div class="ttdeci">void DefaultCase()</div><div class="ttdoc">Adds a default case to the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01898">Algorithms.cs:1898</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a5bd4a5e1a46232ec75c9cdbe60781ebf"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5bd4a5e1a46232ec75c9cdbe60781ebf">SystemSharp.SysDOM.AbstractAlgorithmBuilder.DefaultCase</a></div><div class="ttdeci">void DefaultCase()</div><div class="ttdoc">Adds a default case to the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02188">Algorithms.cs:2188</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a45f3a0f7ca93c3053275372ac5489e24"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a45f3a0f7ca93c3053275372ac5489e24">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptIf</a></div><div class="ttdeci">void AcceptIf(IfStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01453">Algorithms.cs:1453</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a5dbf6254180e73f6a6354ee81e76e2c0"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5dbf6254180e73f6a6354ee81e76e2c0">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptStore</a></div><div class="ttdeci">void AcceptStore(StoreStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01470">Algorithms.cs:1470</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_conversion.html">SystemSharp.SysDOM.InlineExpressionConversion</a></div><div class="ttdoc">This static class provides a service for converting a statement to an inline expression. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02733">Algorithms.cs:2733</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_state_function_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html">SystemSharp.SysDOM.StateFunction</a></div><div class="ttdoc">A state function has multiple entry points, whereby an internal state determines which of them to tak...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01595">Algorithms.cs:1595</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html">SystemSharp.SysDOM.ReturnStatement</a></div><div class="ttdoc">Models a &quot;return from procedure/function&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00693">Algorithms.cs:693</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a573ff6e8a4b4c1a9fc0a7f8d87326c60"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a573ff6e8a4b4c1a9fc0a7f8d87326c60">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptNop</a></div><div class="ttdeci">void AcceptNop(NopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01386">Algorithms.cs:1386</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html">SystemSharp.SysDOM.InlineExpressionConverter</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02643">Algorithms.cs:2643</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement_html_a7b56e89958be5b709b65a9db38fc0258"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a7b56e89958be5b709b65a9db38fc0258">SystemSharp.SysDOM.StoreStatement.Value</a></div><div class="ttdeci">Expression Value</div><div class="ttdoc">The right-hand side expression of assignment. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01028">Algorithms.cs:1028</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement_html_ac76878cfa3f83e9df807fe3ace3cf7a1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_return_statement.html#ac76878cfa3f83e9df807fe3ace3cf7a1">SystemSharp.SysDOM.ReturnStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00700">Algorithms.cs:700</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_ad2d568c79aacdeb5fd639f06616b1695"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad2d568c79aacdeb5fd639f06616b1695">SystemSharp.SysDOM.AbstractAlgorithmBuilder.EndCase</a></div><div class="ttdeci">virtual void EndCase()</div><div class="ttdoc">Ends the current case of the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02215">Algorithms.cs:2215</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aeb63d4ffa95f9db82afef89347930460"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb63d4ffa95f9db82afef89347930460">SystemSharp.SysDOM.StmtVariableReplacer.AcceptIf</a></div><div class="ttdeci">void AcceptIf(IfStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01260">Algorithms.cs:1260</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_aeef34ac39c617c8273cfdf65623ca87a"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#aeef34ac39c617c8273cfdf65623ca87a">SystemSharp.SysDOM.AlgorithmBuilderContractClass.RemoveLastStatement</a></div><div class="ttdeci">void RemoveLastStatement()</div><div class="ttdoc">Removes the last output statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01962">Algorithms.cs:1962</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a56797152d994a6411617607d864ef2ae"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a56797152d994a6411617607d864ef2ae">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptCall</a></div><div class="ttdeci">void AcceptCall(CallStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01425">Algorithms.cs:1425</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a8ccc025580c7db0d6b6aac1dbe57c622"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a8ccc025580c7db0d6b6aac1dbe57c622">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Solve</a></div><div class="ttdeci">void Solve(EquationSystem eqsys)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01872">Algorithms.cs:1872</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aa2dd43623b1539c2e2fd4beb62815533"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2dd43623b1539c2e2fd4beb62815533">SystemSharp.SysDOM.StmtVariableReplacer.AcceptSolve</a></div><div class="ttdeci">void AcceptSolve(SolveStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01288">Algorithms.cs:1288</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html">SystemSharp.SysDOM.NopStatement</a></div><div class="ttdoc">Models a &quot;do nothing&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01058">Algorithms.cs:1058</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block_html_abee4368c7c2832caad48c263a3f4ec70"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abee4368c7c2832caad48c263a3f4ec70">SystemSharp.SysDOM.LoopBlock.ELimitKind</a></div><div class="ttdeci">ELimitKind</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00372">Algorithms.cs:372</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a3e3b803afa44da76a03549fb3788c756"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a3e3b803afa44da76a03549fb3788c756">SystemSharp.SysDOM.InlineExpressionConverter.AcceptContinueLoop</a></div><div class="ttdeci">void AcceptContinueLoop(ContinueLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02667">Algorithms.cs:2667</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a5a988e55713e1d547d29ba8a72a11333"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a5a988e55713e1d547d29ba8a72a11333">SystemSharp.SysDOM.AbstractAlgorithmBuilder.EndLoop</a></div><div class="ttdeci">void EndLoop()</div><div class="ttdoc">Ends the current loop statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02098">Algorithms.cs:2098</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a2dbec68f9cce56e3533e40df3756ff7f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a2dbec68f9cce56e3533e40df3756ff7f">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Throw</a></div><div class="ttdeci">void Throw(Expression expr)</div><div class="ttdoc">Emits a &quot;throw exception&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01938">Algorithms.cs:1938</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aeb0d9e07a37b8d47308854dde55c8836"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aeb0d9e07a37b8d47308854dde55c8836">SystemSharp.SysDOM.StmtVariableReplacer.AcceptContinueLoop</a></div><div class="ttdeci">void AcceptContinueLoop(ContinueLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01255">Algorithms.cs:1255</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement_html_a89d245327cc9356ebf381037c2aae124"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a89d245327cc9356ebf381037c2aae124">SystemSharp.SysDOM.GotoStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00669">Algorithms.cs:669</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a31272f0a4276f7aa2465043bfb7ac819"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31272f0a4276f7aa2465043bfb7ac819">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptGoto</a></div><div class="ttdeci">void AcceptGoto(GotoStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01410">Algorithms.cs:1410</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a9af89994368141ffe93f750a22c392ba"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a9af89994368141ffe93f750a22c392ba">SystemSharp.SysDOM.InlineExpressionConverter.AcceptThrow</a></div><div class="ttdeci">void AcceptThrow(ThrowStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02717">Algorithms.cs:2717</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5cab4a27dad91a45a26ce7d007b5de89"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5cab4a27dad91a45a26ce7d007b5de89">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Else</a></div><div class="ttdeci">void Else()</div><div class="ttdoc">Adds an &quot;else&quot; branch to the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01844">Algorithms.cs:1844</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a7962bbcf645cac97c081b6ab2b0075c6"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a7962bbcf645cac97c081b6ab2b0075c6">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptGotoCase</a></div><div class="ttdeci">void AcceptGotoCase(GotoCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01489">Algorithms.cs:1489</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement_html_a95feddb1345715f5e22380ebe6c58553"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html#a95feddb1345715f5e22380ebe6c58553">SystemSharp.SysDOM.ThrowStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00749">Algorithms.cs:749</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html">SystemSharp.SysDOM.CaseStatement</a></div><div class="ttdoc">Models a &quot;case select&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00874">Algorithms.cs:874</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_algebraic_1_1_equation_system_html"><div class="ttname"><a href="class_system_sharp_1_1_algebraic_1_1_equation_system.html">SystemSharp.Algebraic.EquationSystem</a></div><div class="ttdef"><b>Definition:</b> <a href="_equation_blocks_8cs_source.html#l00031">EquationBlocks.cs:31</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_components_html_ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d"><div class="ttname"><a href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a526d688f37a86d3c3f27d0c5016eb71d">SystemSharp.Components.Reset</a></div><div class="ttdoc">Marks a reset signal input port. </div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a0c6b155669e8115aaffffb38c00190c6"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a0c6b155669e8115aaffffb38c00190c6">SystemSharp.SysDOM.InlineExpressionConverter.AcceptStore</a></div><div class="ttdeci">void AcceptStore(StoreStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02682">Algorithms.cs:2682</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_abdf36241ef21ec19364ccb4654947240"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abdf36241ef21ec19364ccb4654947240">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Return</a></div><div class="ttdeci">void Return()</div><div class="ttdoc">Emits a &quot;return&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01929">Algorithms.cs:1929</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a885af2b1cb19223d48c9208307c31d2d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a885af2b1cb19223d48c9208307c31d2d">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Continue</a></div><div class="ttdeci">virtual void Continue(LoopBlock loop)</div><div class="ttdoc">Emits a &quot;continue loop&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02089">Algorithms.cs:2089</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder_html_ac1b3322f233b593017658d1142c22f95"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#ac1b3322f233b593017658d1142c22f95">SystemSharp.SysDOM.DefaultAlgorithmBuilder.Complete</a></div><div class="ttdeci">Function Complete()</div><div class="ttdoc">Constructs the function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02488">Algorithms.cs:2488</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_not_convertible_to_inline_expression_exception.html">SystemSharp.SysDOM.NotConvertibleToInlineExpressionException</a></div><div class="ttdoc">Thrown when the conversion to an inline expression is not possible. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02639">Algorithms.cs:2639</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_ad0822da1c412fab367152cce49f391f9"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad0822da1c412fab367152cce49f391f9">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Break</a></div><div class="ttdeci">virtual void Break(LoopBlock loop)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02080">Algorithms.cs:2080</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_state_function_html_ab3dc42c3f45f3f2781117d8df0ae87bb"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_state_function.html#ab3dc42c3f45f3f2781117d8df0ae87bb">SystemSharp.SysDOM.StateFunction.StateFunction</a></div><div class="ttdeci">StateFunction()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01605">Algorithms.cs:1605</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_html_a77aee09919b6fc36b8bbbf357085af47"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#a77aee09919b6fc36b8bbbf357085af47">SystemSharp.SysDOM.Function.CheckConsistency</a></div><div class="ttdeci">override void CheckConsistency()</div><div class="ttdoc">Performs a consistency check. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01576">Algorithms.cs:1576</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_ad1f3ee5a38a44e77c41790bcaa75fbc5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad1f3ee5a38a44e77c41790bcaa75fbc5">SystemSharp.SysDOM.AbstractAlgorithmBuilder.InlineCall</a></div><div class="ttdeci">virtual void InlineCall(Statement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02161">Algorithms.cs:2161</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a1728c43852c440ebe6c18e808a9bb3ff"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a1728c43852c440ebe6c18e808a9bb3ff">SystemSharp.SysDOM.NopRemover.AcceptCompoundStatement</a></div><div class="ttdeci">void AcceptCompoundStatement(CompoundStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02531">Algorithms.cs:2531</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a3b365f8464f1ffbcce579c83bf673593"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a3b365f8464f1ffbcce579c83bf673593">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Store</a></div><div class="ttdeci">void Store(IStorableLiteral var, Expression val)</div><div class="ttdoc">Emits an assignment. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01826">Algorithms.cs:1826</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a52b05ee5fc77ab0dd80ab39083715963"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a52b05ee5fc77ab0dd80ab39083715963">SystemSharp.SysDOM.StmtVariableReplacer.AcceptStore</a></div><div class="ttdeci">void AcceptStore(StoreStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01277">Algorithms.cs:1277</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_aefaebba1244ed2d4f4d6e839d349f2ba"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#aefaebba1244ed2d4f4d6e839d349f2ba">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptContinueLoop</a></div><div class="ttdeci">void AcceptContinueLoop(ContinueLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01449">Algorithms.cs:1449</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a24fe7c2209806209f74c4b696324cbe0"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a24fe7c2209806209f74c4b696324cbe0">SystemSharp.SysDOM.StmtVariableReplacer.Lookup</a></div><div class="ttdeci">Literal Lookup(Literal v)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01213">Algorithms.cs:1213</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ab64012c621b2f7193cc86e63b436bdff"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ab64012c621b2f7193cc86e63b436bdff">SystemSharp.SysDOM.NopRemover.EPass</a></div><div class="ttdeci">EPass</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02519">Algorithms.cs:2519</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement_html_af87ba35d6ffab9b145f660f6b1816474"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_solve_statement.html#af87ba35d6ffab9b145f660f6b1816474">SystemSharp.SysDOM.SolveStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01001">Algorithms.cs:1001</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a5d46e20d3e6442daeec26e338ddc8198"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a5d46e20d3e6442daeec26e338ddc8198">SystemSharp.SysDOM.NopRemover.AcceptContinueLoop</a></div><div class="ttdeci">void AcceptContinueLoop(ContinueLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02555">Algorithms.cs:2555</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a5b82a0f5e1b69454dfd8a2eb5ff6e25c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a5b82a0f5e1b69454dfd8a2eb5ff6e25c">SystemSharp.SysDOM.StmtVariableReplacer.AcceptGotoCase</a></div><div class="ttdeci">void AcceptGotoCase(GotoCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01304">Algorithms.cs:1304</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_html_ac23fdff20a4e115dff24a788bf54983e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html#ac23fdff20a4e115dff24a788bf54983e">SystemSharp.SysDOM.Function.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01581">Algorithms.cs:1581</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html">SystemSharp.SysDOM.BreakLoopStatement</a></div><div class="ttdoc">Models a &quot;break loop&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00490">Algorithms.cs:490</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a36110c735a7ba2203d958b9ec46eb17e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a36110c735a7ba2203d958b9ec46eb17e">SystemSharp.SysDOM.StmtVariableReplacer.AcceptCompoundStatement</a></div><div class="ttdeci">void AcceptCompoundStatement(CompoundStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01234">Algorithms.cs:1234</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_af48b1ae826ca25abb124a642064da121"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#af48b1ae826ca25abb124a642064da121">SystemSharp.SysDOM.NopRemover.AcceptSolve</a></div><div class="ttdeci">void AcceptSolve(SolveStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02577">Algorithms.cs:2577</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a2f39cbca36e6d98eea3767025d2f71ad"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a2f39cbca36e6d98eea3767025d2f71ad">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptIf</a></div><div class="ttdeci">void AcceptIf(IfStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01364">Algorithms.cs:1364</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_ae837de75e29439a3e2e0d3c837c38228"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#ae837de75e29439a3e2e0d3c837c38228">SystemSharp.SysDOM.NopRemover.AcceptStore</a></div><div class="ttdeci">void AcceptStore(StoreStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02569">Algorithms.cs:2569</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement_html_a932a4a915481e2e45c3d5385ece70928"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_statement.html#a932a4a915481e2e45c3d5385ece70928">SystemSharp.SysDOM.GotoStatement.Target</a></div><div class="ttdeci">Statement Target</div><div class="ttdoc">The &quot;goto&quot; target. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00662">Algorithms.cs:662</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a50e17e8c2a1849308879ea96f70ef3db"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a50e17e8c2a1849308879ea96f70ef3db">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptThrow</a></div><div class="ttdeci">void AcceptThrow(ThrowStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01420">Algorithms.cs:1420</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_base_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html">SystemSharp.SysDOM.FunctionBase</a></div><div class="ttdoc">Abstract base class for a SysDOM function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01516">Algorithms.cs:1516</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder_html_a3cd47971977040599ceb5b8ff7377af8"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html#a3cd47971977040599ceb5b8ff7377af8">SystemSharp.SysDOM.DefaultAlgorithmBuilder.DefaultAlgorithmBuilder</a></div><div class="ttdeci">DefaultAlgorithmBuilder()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02468">Algorithms.cs:2468</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a9dfdb4ce201937881be6502674c709f5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a9dfdb4ce201937881be6502674c709f5">SystemSharp.SysDOM.NopRemover.AcceptCase</a></div><div class="ttdeci">void AcceptCase(CaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02564">Algorithms.cs:2564</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a535b2595d5347efcd395ae5081a2f7f0"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a535b2595d5347efcd395ae5081a2f7f0">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptGotoCase</a></div><div class="ttdeci">void AcceptGotoCase(GotoCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01405">Algorithms.cs:1405</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a40d9b841bec448a76f7e3426932ce212"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a40d9b841bec448a76f7e3426932ce212">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptBreakCase</a></div><div class="ttdeci">void AcceptBreakCase(BreakCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01485">Algorithms.cs:1485</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html">SystemSharp.SysDOM.LoopBlock</a></div><div class="ttdoc">Represents a loop. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00315">Algorithms.cs:315</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html">SystemSharp.SysDOM.StatementConsistencyChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01432">Algorithms.cs:1432</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_ad371992c56298583d6f648719aa85933"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ad371992c56298583d6f648719aa85933">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Store</a></div><div class="ttdeci">virtual void Store(IStorableLiteral var, Expression val)</div><div class="ttdoc">Emits an assignment. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02012">Algorithms.cs:2012</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_default_algorithm_builder.html">SystemSharp.SysDOM.DefaultAlgorithmBuilder</a></div><div class="ttdoc">A default implementation of the algorithm builder interface. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02463">Algorithms.cs:2463</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a3cf86847205c21a3ad166bf8e86a4935"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a3cf86847205c21a3ad166bf8e86a4935">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptLoopBlock</a></div><div class="ttdeci">void AcceptLoopBlock(LoopBlock stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01440">Algorithms.cs:1440</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_branch_statement.html">SystemSharp.SysDOM.BranchStatement</a></div><div class="ttdoc">A branch statement hands the program flow over to some different program location. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00472">Algorithms.cs:472</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5eabe9d70974688ab63f5155c31560ed"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5eabe9d70974688ab63f5155c31560ed">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Continue</a></div><div class="ttdeci">void Continue(LoopBlock loop)</div><div class="ttdoc">Emits a &quot;continue loop&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01863">Algorithms.cs:1863</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a4c5fc246c717d1576a1c117b01b7a51e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a4c5fc246c717d1576a1c117b01b7a51e">SystemSharp.SysDOM.InlineExpressionConverter.AcceptGoto</a></div><div class="ttdeci">void AcceptGoto(GotoStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02707">Algorithms.cs:2707</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a17101310b521ec41b2afebcc7ceaa5e3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a17101310b521ec41b2afebcc7ceaa5e3">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Else</a></div><div class="ttdeci">virtual void Else()</div><div class="ttdoc">Adds an &quot;else&quot; branch to the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02054">Algorithms.cs:2054</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html">SystemSharp.SysDOM.AbstractAlgorithmBuilder</a></div><div class="ttdoc">Provides an abstract base implementation of the IFunctionBuilder interface. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01981">Algorithms.cs:1981</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement_html_a27b5278c06d37b03a19e36609b9ec5e3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a27b5278c06d37b03a19e36609b9ec5e3">SystemSharp.SysDOM.IfStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00834">Algorithms.cs:834</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_type_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_type_descriptor.html">SystemSharp.Meta.TypeDescriptor</a></div><div class="ttdoc">Describes a type. </div><div class="ttdef"><b>Definition:</b> <a href="_type_descriptor_8cs_source.html#l00120">TypeDescriptor.cs:120</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a500b802f56ffd1313746c35705b51d8f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a500b802f56ffd1313746c35705b51d8f">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Break</a></div><div class="ttdeci">void Break(CaseStatement stmt)</div><div class="ttdoc">Emits a &quot;break case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01910">Algorithms.cs:1910</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a3a8ccc6b03cdf25f0de1ee9df2faac7d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3a8ccc6b03cdf25f0de1ee9df2faac7d">SystemSharp.SysDOM.AbstractAlgorithmBuilder.ElseIf</a></div><div class="ttdeci">virtual void ElseIf(Expression cond)</div><div class="ttdoc">Adds an &quot;else-if&quot; branch to the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02044">Algorithms.cs:2044</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement_html_a9e8f1f7fc730afec94e650970b8a4086"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a9e8f1f7fc730afec94e650970b8a4086">SystemSharp.SysDOM.CompoundStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00280">Algorithms.cs:280</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a40f26690c79faec905eae9769ff7151e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a40f26690c79faec905eae9769ff7151e">SystemSharp.SysDOM.NopRemover.AcceptThrow</a></div><div class="ttdeci">void AcceptThrow(ThrowStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02606">Algorithms.cs:2606</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_base_html_a564c03d758ffeead5f6f7c323b749ef6"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function_base.html#a564c03d758ffeead5f6f7c323b749ef6">SystemSharp.SysDOM.FunctionBase.InputVariables</a></div><div class="ttdeci">List&lt; IStorableLiteral &gt; InputVariables</div><div class="ttdoc">The list of function input variables. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01531">Algorithms.cs:1531</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_ab1372c61467c7419cbd9ee7ebb374c22"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#ab1372c61467c7419cbd9ee7ebb374c22">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptCompoundStatement</a></div><div class="ttdeci">void AcceptCompoundStatement(CompoundStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01342">Algorithms.cs:1342</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement_html_a784dc7424dee4223528f74692051ee51"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_scoped_statement.html#a784dc7424dee4223528f74692051ee51">SystemSharp.SysDOM.ScopedStatement.ScopedStatement</a></div><div class="ttdeci">ScopedStatement()</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00244">Algorithms.cs:244</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a08391b1bf5bef375955ab47309fcc95c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a08391b1bf5bef375955ab47309fcc95c">SystemSharp.SysDOM.AlgorithmBuilderContractClass.If</a></div><div class="ttdeci">IfStatement If(Expression cond)</div><div class="ttdoc">Begins an &quot;if-then(-else-if)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01832">Algorithms.cs:1832</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a183cc5171f43d4a4e2309fde079fb927"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a183cc5171f43d4a4e2309fde079fb927">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptBreakCase</a></div><div class="ttdeci">void AcceptBreakCase(BreakCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01400">Algorithms.cs:1400</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a429ae1d304952a917e2eba66cd1e1732"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a429ae1d304952a917e2eba66cd1e1732">SystemSharp.SysDOM.AbstractAlgorithmBuilder.RemoveLastStatement</a></div><div class="ttdeci">void RemoveLastStatement()</div><div class="ttdoc">Removes the last output statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02361">Algorithms.cs:2361</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a592edf052c5ad2a58e061cfb2feb8f66"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a592edf052c5ad2a58e061cfb2feb8f66">SystemSharp.SysDOM.StmtVariableReplacer.AddReplacement</a></div><div class="ttdeci">void AddReplacement(Literal v, Literal v_)</div><div class="ttdoc">Adds a replacement rule. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01208">Algorithms.cs:1208</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement_html_aa0240360689cc17b25d713a7d2547db1"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_goto_case_statement.html#aa0240360689cc17b25d713a7d2547db1">SystemSharp.SysDOM.GotoCaseStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00627">Algorithms.cs:627</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement_html_af90273eec6cb87b049e98669e4eb6756"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#af90273eec6cb87b049e98669e4eb6756">SystemSharp.SysDOM.CallStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00795">Algorithms.cs:795</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_a57f590194f791a4661e2e72220a51831"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a57f590194f791a4661e2e72220a51831">SystemSharp.SysDOM.Statement.Indent</a></div><div class="ttdeci">void Indent(int n, StringBuilder sb)</div><div class="ttdoc">Appends whitespaces to the output, reflecting the given indentation level. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00208">Algorithms.cs:208</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_statement_visitor.html">SystemSharp.SysDOM.IStatementVisitor</a></div><div class="ttdoc">Visitor pattern interface for statements. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00037">Algorithms.cs:37</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement_html_a3533e4d537ef3fd1e33439e2e4588bc2"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_statement.html#a3533e4d537ef3fd1e33439e2e4588bc2">SystemSharp.SysDOM.NopStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01065">Algorithms.cs:1065</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a8731313ef852dcbe9eefb31ef2cfdccd"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a8731313ef852dcbe9eefb31ef2cfdccd">SystemSharp.SysDOM.AbstractAlgorithmBuilder.InlineCall</a></div><div class="ttdeci">virtual void InlineCall(Function fn, Expression[] inArgs, Variable[] outArgs, bool shareLocals=false)</div><div class="ttdoc">Inlines a function call. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02113">Algorithms.cs:2113</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement_html_a9d72d7f3347d719629ae14c274e28112"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a9d72d7f3347d719629ae14c274e28112">SystemSharp.SysDOM.ContinueLoopStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00543">Algorithms.cs:543</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement_html_a82792609a4ca386bde6b6d7f9a3bed4a"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_store_statement.html#a82792609a4ca386bde6b6d7f9a3bed4a">SystemSharp.SysDOM.StoreStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01030">Algorithms.cs:1030</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5c910af6e03aa97fa8aab3a1a2714aca"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5c910af6e03aa97fa8aab3a1a2714aca">SystemSharp.SysDOM.AlgorithmBuilderContractClass.DeclareLocal</a></div><div class="ttdeci">void DeclareLocal(IStorableLiteral v)</div><div class="ttdoc">Declares a local variable. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01821">Algorithms.cs:1821</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template_html_ab2b63e89a9ae11bf6beb9d76ccfca3cf"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#ab2b63e89a9ae11bf6beb9d76ccfca3cf">SystemSharp.SysDOM.AlgorithmTemplate.Reset</a></div><div class="ttdeci">void Reset()</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02419">Algorithms.cs:2419</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html">SystemSharp.SysDOM.StmtVariableReplacer</a></div><div class="ttdoc">This statement visitor is capable of replacing each occurence of a certain literal with a different o...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01199">Algorithms.cs:1199</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html_a02752a9fa834a18a9f737cca5598ad93"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a02752a9fa834a18a9f737cca5598ad93">SystemSharp.SysDOM.CaseStatement.CaseStatement</a></div><div class="ttdeci">CaseStatement()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00879">Algorithms.cs:879</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_variable_html_a89e7a38ab856df0d41943245524fd02e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html#a89e7a38ab856df0d41943245524fd02e">SystemSharp.SysDOM.Variable.Name</a></div><div class="ttdeci">string Name</div><div class="ttdoc">Gets or sets the variable name. </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00212">Literals.cs:212</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a59c649778b38166f303ea36b3af0dd2d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a59c649778b38166f303ea36b3af0dd2d">SystemSharp.SysDOM.AbstractAlgorithmBuilder.DeclareThis</a></div><div class="ttdeci">void DeclareThis(Variable var)</div><div class="ttdoc">Indicates which variable should be semantically equivalent to &quot;this&quot;. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02328">Algorithms.cs:2328</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html">SystemSharp.SysDOM.ContinueLoopStatement</a></div><div class="ttdoc">Models a &quot;continue loop&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00536">Algorithms.cs:536</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block_html_a8c1a688ed7b08d4d43b801ce41914df7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a8c1a688ed7b08d4d43b801ce41914df7">SystemSharp.SysDOM.LoopBlock.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00418">Algorithms.cs:418</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html">SystemSharp.SysDOM.AlgorithmTemplate</a></div><div class="ttdoc">An abstract algorithm builder implementation where the actual algorithm construction is done inside t...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02406">Algorithms.cs:2406</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a7363c8df432be18eb7d65b001ae29850"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a7363c8df432be18eb7d65b001ae29850">SystemSharp.SysDOM.NopRemover.AcceptBreakLoop</a></div><div class="ttdeci">void AcceptBreakLoop(BreakLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02551">Algorithms.cs:2551</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a6dce2ab67457dba61bce369ef258459d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a6dce2ab67457dba61bce369ef258459d">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptNop</a></div><div class="ttdeci">void AcceptNop(NopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01475">Algorithms.cs:1475</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_sys_d_o_m_html_a55f18bc7b5ffbb11145b22118dbac279"><div class="ttname"><a href="namespace_system_sharp_1_1_sys_d_o_m.html#a55f18bc7b5ffbb11145b22118dbac279">SystemSharp.SysDOM.ExpressionGenerator</a></div><div class="ttdeci">delegate Expression ExpressionGenerator()</div><div class="ttdoc">Creates a new expression. </div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_aa2d5eb8079208310b144bf1dd8b461b7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#aa2d5eb8079208310b144bf1dd8b461b7">SystemSharp.SysDOM.StmtVariableReplacer.AcceptLoopBlock</a></div><div class="ttdeci">void AcceptLoopBlock(LoopBlock stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01240">Algorithms.cs:1240</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a90b0ad9e3e3ab05e6b85b504d3c22c85"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a90b0ad9e3e3ab05e6b85b504d3c22c85">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Nop</a></div><div class="ttdeci">virtual void Nop()</div><div class="ttdoc">Emits a &quot;do nothing&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02266">Algorithms.cs:2266</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_components_html_ad268018ef23fa93dc0631786a118b530a8eea62084ca7e541d918e823422bd82e"><div class="ttname"><a href="namespace_system_sharp_1_1_components.html#ad268018ef23fa93dc0631786a118b530a8eea62084ca7e541d918e823422bd82e">SystemSharp.Components.Result</a></div><div class="ttdoc">Marks a result output port. </div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_a22c3ff32d102c346bc23de63676a8f17"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#a22c3ff32d102c346bc23de63676a8f17">SystemSharp.SysDOM.NopRemover.AcceptReturn</a></div><div class="ttdeci">void AcceptReturn(ReturnStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02602">Algorithms.cs:2602</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement_html_a74dca8902ade74c878024bf8533085cf"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a74dca8902ade74c878024bf8533085cf">SystemSharp.SysDOM.IfStatement.IfStatement</a></div><div class="ttdeci">IfStatement()</div><div class="ttdoc">Constructs an instance. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00809">Algorithms.cs:809</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5110640ac2a83013eb907e37d37503e2"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5110640ac2a83013eb907e37d37503e2">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Break</a></div><div class="ttdeci">void Break(LoopBlock loop)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01858">Algorithms.cs:1858</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement_html_a92147769da1cc0190c4311828d40b336"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_if_statement.html#a92147769da1cc0190c4311828d40b336">SystemSharp.SysDOM.IfStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00829">Algorithms.cs:829</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5222499cd4ad2bc277fb970f22b541d7"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5222499cd4ad2bc277fb970f22b541d7">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Call</a></div><div class="ttdeci">void Call(ICallable callee, Expression[] arguments)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01943">Algorithms.cs:1943</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a5e61427445dce1b7a576bcc18ee54844"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a5e61427445dce1b7a576bcc18ee54844">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptCompoundStatement</a></div><div class="ttdeci">void AcceptCompoundStatement(CompoundStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01434">Algorithms.cs:1434</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_throw_statement.html">SystemSharp.SysDOM.ThrowStatement</a></div><div class="ttdoc">Models a &quot;throw exception&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00725">Algorithms.cs:725</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_adb05ffcbea2d1d329049d83e9e885b99"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#adb05ffcbea2d1d329049d83e9e885b99">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Break</a></div><div class="ttdeci">virtual void Break(CaseStatement stmt)</div><div class="ttdoc">Emits a &quot;break case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02206">Algorithms.cs:2206</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a246be81a77535c6c163551b7a7b39565"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a246be81a77535c6c163551b7a7b39565">SystemSharp.SysDOM.StmtVariableReplacer.AcceptReturn</a></div><div class="ttdeci">void AcceptReturn(ReturnStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01314">Algorithms.cs:1314</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement_html_a1eaeaaf86946c050ddc6d5e16df7f316"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_continue_loop_statement.html#a1eaeaaf86946c050ddc6d5e16df7f316">SystemSharp.SysDOM.ContinueLoopStatement.Equals</a></div><div class="ttdeci">override bool Equals(object obj)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00565">Algorithms.cs:565</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a95dfd01b1f237f3f71d4b7f11cb0df66"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a95dfd01b1f237f3f71d4b7f11cb0df66">SystemSharp.SysDOM.StmtVariableReplacer.AcceptNop</a></div><div class="ttdeci">void AcceptNop(NopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01283">Algorithms.cs:1283</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html">SystemSharp.SysDOM.CallStatement</a></div><div class="ttdoc">Models a function/procedure call statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00758">Algorithms.cs:758</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder_html_a91c90ceb85204e0c203f42dd6ee51ad3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_dependend_algorithm_builder.html#a91c90ceb85204e0c203f42dd6ee51ad3">SystemSharp.SysDOM.DependendAlgorithmBuilder.DependendAlgorithmBuilder</a></div><div class="ttdeci">DependendAlgorithmBuilder(Function func, CompoundStatement root)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02390">Algorithms.cs:2390</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_ab55f77b164344041e44edd100206b81e"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#ab55f77b164344041e44edd100206b81e">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Return</a></div><div class="ttdeci">virtual void Return()</div><div class="ttdoc">Emits a &quot;return&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02232">Algorithms.cs:2232</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a675297409ec0fa57f30020e7aaf39bf5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a675297409ec0fa57f30020e7aaf39bf5">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Reset</a></div><div class="ttdeci">virtual void Reset(CompoundStatement root)</div><div class="ttdoc">Resets the currently active statement hierarchy. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02004">Algorithms.cs:2004</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a9b033782832a1d6988acb5674840918c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a9b033782832a1d6988acb5674840918c">SystemSharp.SysDOM.AlgorithmBuilderContractClass.GotoCase</a></div><div class="ttdeci">void GotoCase(CaseStatement cstmt, int index)</div><div class="ttdoc">Hands program flow over to a different branch of the a &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01902">Algorithms.cs:1902</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_abde310d67cb866b4a99cb70ab5b9e9b6"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#abde310d67cb866b4a99cb70ab5b9e9b6">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Loop</a></div><div class="ttdeci">virtual LoopBlock Loop()</div><div class="ttdoc">Begins a loop statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02069">Algorithms.cs:2069</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a6d98483e1684683dea40296238e76989"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a6d98483e1684683dea40296238e76989">SystemSharp.SysDOM.StmtVariableReplacer.AcceptBreakCase</a></div><div class="ttdeci">void AcceptBreakCase(BreakCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01299">Algorithms.cs:1299</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a5de30ff22f61c156154720a8fefdb6d3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a5de30ff22f61c156154720a8fefdb6d3">SystemSharp.SysDOM.AlgorithmBuilderContractClass.EndIf</a></div><div class="ttdeci">void EndIf()</div><div class="ttdoc">Ends the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01848">Algorithms.cs:1848</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement_html_a23920faa6b5d89648d14500d41c98839"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_break_loop_statement.html#a23920faa6b5d89648d14500d41c98839">SystemSharp.SysDOM.BreakLoopStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00497">Algorithms.cs:497</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer_html_a378f2c2704a4a360d0f62ffd6fc83f68"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_variable_replacer.html#a378f2c2704a4a360d0f62ffd6fc83f68">SystemSharp.SysDOM.StmtVariableReplacer.AcceptThrow</a></div><div class="ttdeci">void AcceptThrow(ThrowStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01319">Algorithms.cs:1319</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_aee0ea10cbd1434250815f563df8dd265"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#aee0ea10cbd1434250815f563df8dd265">SystemSharp.SysDOM.InlineExpressionConverter.AcceptBreakCase</a></div><div class="ttdeci">void AcceptBreakCase(BreakCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02697">Algorithms.cs:2697</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html_a040311646b4446c98a91436f959f4014"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a040311646b4446c98a91436f959f4014">SystemSharp.SysDOM.CaseStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00905">Algorithms.cs:905</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a24214bf78df35168634495ecff235535"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a24214bf78df35168634495ecff235535">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Return</a></div><div class="ttdeci">virtual void Return(Expression returnValue)</div><div class="ttdoc">Emits a &quot;return&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02238">Algorithms.cs:2238</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_affae1d3f84ed925e23d9df432171a01f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#affae1d3f84ed925e23d9df432171a01f">SystemSharp.SysDOM.AlgorithmBuilderContractClass.BeginSubAlgorithm</a></div><div class="ttdeci">IAlgorithmBuilder BeginSubAlgorithm()</div><div class="ttdoc">Forks a new algorithm builder at the current position. To achieve this, a compound statement is inser...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01968">Algorithms.cs:1968</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a3ab1d913d4d2aaa5f315166c98665960"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a3ab1d913d4d2aaa5f315166c98665960">SystemSharp.SysDOM.AbstractAlgorithmBuilder.DeclareLocal</a></div><div class="ttdeci">virtual void DeclareLocal(IStorableLiteral var)</div><div class="ttdoc">Declares a local variable. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02316">Algorithms.cs:2316</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a6aa140be84ca10b4a1c98427744feeac"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a6aa140be84ca10b4a1c98427744feeac">SystemSharp.SysDOM.InlineExpressionConverter.AcceptNop</a></div><div class="ttdeci">void AcceptNop(NopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02687">Algorithms.cs:2687</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a23eadda1e843ac521f4c4f697d9749c8"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a23eadda1e843ac521f4c4f697d9749c8">SystemSharp.SysDOM.InlineExpressionConverter.AcceptCall</a></div><div class="ttdeci">void AcceptCall(CallStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02722">Algorithms.cs:2722</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_abaea2489a27de101c1a4fc56433c0112"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#abaea2489a27de101c1a4fc56433c0112">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Switch</a></div><div class="ttdeci">CaseStatement Switch(Expression selector)</div><div class="ttdoc">Begins a &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01886">Algorithms.cs:1886</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block_html_a6f71f39f6e3e0dc0f30996e6e6e6f87a"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#a6f71f39f6e3e0dc0f30996e6e6e6f87a">SystemSharp.SysDOM.LoopBlock.ECounterDirection</a></div><div class="ttdeci">ECounterDirection</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00395">Algorithms.cs:395</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html_a3defade69c693c003ba9e4a2ca910334"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3defade69c693c003ba9e4a2ca910334">SystemSharp.SysDOM.CaseStatement.Branches</a></div><div class="ttdeci">List&lt; Statement &gt; Branches</div><div class="ttdoc">The list of case actions. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00903">Algorithms.cs:903</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a375d04e7123759cdcfa2814e94d8a4ed"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a375d04e7123759cdcfa2814e94d8a4ed">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Solve</a></div><div class="ttdeci">virtual void Solve(EquationSystem eqsys)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02104">Algorithms.cs:2104</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block_html_abce80be28bb0076f57d724b2d8d54fcf"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_loop_block.html#abce80be28bb0076f57d724b2d8d54fcf">SystemSharp.SysDOM.LoopBlock.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00413">Algorithms.cs:413</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_accbf7d7b0dee7912614e1518cc0f501c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#accbf7d7b0dee7912614e1518cc0f501c">SystemSharp.SysDOM.Statement.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00171">Algorithms.cs:171</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement_html_aa5a444be7cb8e3756e2c62ab88ea4a07"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_call_statement.html#aa5a444be7cb8e3756e2c62ab88ea4a07">SystemSharp.SysDOM.CallStatement.ToString</a></div><div class="ttdeci">override void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00770">Algorithms.cs:770</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_a31a1abb27a3c3503ae37f9bddc1e7ec4"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#a31a1abb27a3c3503ae37f9bddc1e7ec4">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptCase</a></div><div class="ttdeci">void AcceptCase(CaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01372">Algorithms.cs:1372</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html">SystemSharp.SysDOM.CompoundStatement</a></div><div class="ttdoc">A composition of other statements with sequential execution semantics. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00260">Algorithms.cs:260</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement_html_a31529e0e2776047f5bc8997ce31f4d88"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a31529e0e2776047f5bc8997ce31f4d88">SystemSharp.SysDOM.CompoundStatement.Statements</a></div><div class="ttdeci">List&lt; Statement &gt; Statements</div><div class="ttdoc">Returns a list of all statements which are part of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00273">Algorithms.cs:273</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_linker.html">SystemSharp.SysDOM.StatementLinker</a></div><div class="ttdoc">Analyzes the statement tree and determines the Successor property of each statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01083">Algorithms.cs:1083</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a1711b5f80e1774a712ac9f819a4d45a3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a1711b5f80e1774a712ac9f819a4d45a3">SystemSharp.SysDOM.AlgorithmBuilderContractClass.EndSwitch</a></div><div class="ttdeci">void EndSwitch()</div><div class="ttdoc">Ends the current &quot;switch-case&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01919">Algorithms.cs:1919</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html">SystemSharp.SysDOM.StmtExpressionSubstitution</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01331">Algorithms.cs:1331</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_acfdd998536c3577a01416a828ad47fc5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#acfdd998536c3577a01416a828ad47fc5">SystemSharp.SysDOM.Statement.ToString</a></div><div class="ttdeci">virtual void ToString(int indent, StringBuilder sb)</div><div class="ttdoc">Computes a user-readable textual representation of this statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00183">Algorithms.cs:183</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template_html_a92ca1454718a81eb1a1b40527392a7d5"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_template.html#a92ca1454718a81eb1a1b40527392a7d5">SystemSharp.SysDOM.AlgorithmTemplate.GetAlgorithm</a></div><div class="ttdeci">virtual Function GetAlgorithm()</div><div class="ttdoc">Constructs the function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02442">Algorithms.cs:2442</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_aa217a450e882f2ea300c9b26bd6f2e00"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#aa217a450e882f2ea300c9b26bd6f2e00">SystemSharp.SysDOM.AbstractAlgorithmBuilder.Comment</a></div><div class="ttdeci">void Comment(string comment)</div><div class="ttdoc">Adds a comment to the last output statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02375">Algorithms.cs:2375</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_html_a8ae329906dc073e784e42168a0814987"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement.html#a8ae329906dc073e784e42168a0814987">SystemSharp.SysDOM.Statement.AppendAttributes</a></div><div class="ttdeci">void AppendAttributes(StringBuilder sb)</div><div class="ttdoc">Appends a user-readable textual representation of all attributes. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00193">Algorithms.cs:193</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement_html_a5fd05900c1a1b719661643226b46f488"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_compound_statement.html#a5fd05900c1a1b719661643226b46f488">SystemSharp.SysDOM.CompoundStatement.Accept</a></div><div class="ttdeci">override void Accept(IStatementVisitor visitor)</div><div class="ttdoc">Accepts a statement visitor. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00275">Algorithms.cs:275</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a34e5d1597fdcf2d778d0d6cf3bac2f88"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a34e5d1597fdcf2d778d0d6cf3bac2f88">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Goto</a></div><div class="ttdeci">GotoStatement Goto()</div><div class="ttdoc">Emits a &quot;goto&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01923">Algorithms.cs:1923</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_multi_statement_acceptance.html">SystemSharp.SysDOM.MultiStatementAcceptance</a></div><div class="ttdoc">This static class provides a helper extension for applying the visitor pattern to multiple statements...</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02501">Algorithms.cs:2501</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a2db94d93aa08a7b1aee4c1a206a9f5e3"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a2db94d93aa08a7b1aee4c1a206a9f5e3">SystemSharp.SysDOM.InlineExpressionConverter.AcceptLoopBlock</a></div><div class="ttdeci">void AcceptLoopBlock(LoopBlock stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02657">Algorithms.cs:2657</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a480ae4c74c454683ae8cd404b65a7aaa"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a480ae4c74c454683ae8cd404b65a7aaa">SystemSharp.SysDOM.InlineExpressionConverter.AcceptGotoCase</a></div><div class="ttdeci">void AcceptGotoCase(GotoCaseStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02702">Algorithms.cs:2702</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_a54fc5894caea491641bb170380c7d15d"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#a54fc5894caea491641bb170380c7d15d">SystemSharp.SysDOM.InlineExpressionConverter.AcceptReturn</a></div><div class="ttdeci">void AcceptReturn(ReturnStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02712">Algorithms.cs:2712</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker_html_a1c346877d44dd4ca292291c41a3b1c6c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_statement_consistency_checker.html#a1c346877d44dd4ca292291c41a3b1c6c">SystemSharp.SysDOM.StatementConsistencyChecker.AcceptSolve</a></div><div class="ttdeci">void AcceptSolve(SolveStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01479">Algorithms.cs:1479</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder_html_a7798dbdcdf1541ac111f617d10d0884f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_abstract_algorithm_builder.html#a7798dbdcdf1541ac111f617d10d0884f">SystemSharp.SysDOM.AbstractAlgorithmBuilder.DeclareOutput</a></div><div class="ttdeci">void DeclareOutput(IStorableLiteral var)</div><div class="ttdoc">Declares a literal as output argument. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02346">Algorithms.cs:2346</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a84b370c92f57978fd8a7722fadfc327f"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a84b370c92f57978fd8a7722fadfc327f">SystemSharp.SysDOM.AlgorithmBuilderContractClass.ElseIf</a></div><div class="ttdeci">void ElseIf(Expression cond)</div><div class="ttdoc">Adds an &quot;else-if&quot; branch to the current &quot;if-then(-elsif)(-else)&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01839">Algorithms.cs:1839</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a97938eb2e16d187f62b792905996017c"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a97938eb2e16d187f62b792905996017c">SystemSharp.SysDOM.AlgorithmBuilderContractClass.InlineCall</a></div><div class="ttdeci">void InlineCall(Function fn, Expression[] inArgs, Variable[] outArgs, bool shareLocals=false)</div><div class="ttdoc">Inlines a function call. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01877">Algorithms.cs:1877</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement_html_a3eb89c5cfe83bd657de64bd7ec1f6279"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_case_statement.html#a3eb89c5cfe83bd657de64bd7ec1f6279">SystemSharp.SysDOM.CaseStatement.ConvertToIfStatement</a></div><div class="ttdeci">IfStatement ConvertToIfStatement()</div><div class="ttdoc">Converts this statement to if-then-else form. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l00956">Algorithms.cs:956</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal_html"><div class="ttname"><a href="interface_system_sharp_1_1_sys_d_o_m_1_1_i_storable_literal.html">SystemSharp.SysDOM.IStorableLiteral</a></div><div class="ttdoc">Base interface for literals which may be used as left-hand side of an assignment. ...</div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00083">Literals.cs:83</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class_html_a57f1a51946ef66839719de472e09c5df"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_algorithm_builder_contract_class.html#a57f1a51946ef66839719de472e09c5df">SystemSharp.SysDOM.AlgorithmBuilderContractClass.Return</a></div><div class="ttdeci">void Return(Expression returnValue)</div><div class="ttdoc">Emits a &quot;return&quot; statement. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01933">Algorithms.cs:1933</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html_acec216323428bbfae3509c15b220b062"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html#acec216323428bbfae3509c15b220b062">SystemSharp.SysDOM.NopRemover.AcceptLoopBlock</a></div><div class="ttdeci">void AcceptLoopBlock(LoopBlock stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02546">Algorithms.cs:2546</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter_html_ad0d605f650e5dbcbdc5232727a930683"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_inline_expression_converter.html#ad0d605f650e5dbcbdc5232727a930683">SystemSharp.SysDOM.InlineExpressionConverter.AcceptBreakLoop</a></div><div class="ttdeci">void AcceptBreakLoop(BreakLoopStatement stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02662">Algorithms.cs:2662</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution_html_acf988871deb2978ebd035dc18d7d7744"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_stmt_expression_substitution.html#acf988871deb2978ebd035dc18d7d7744">SystemSharp.SysDOM.StmtExpressionSubstitution.AcceptLoopBlock</a></div><div class="ttdeci">void AcceptLoopBlock(LoopBlock stmt)</div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01348">Algorithms.cs:1348</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_nop_remover.html">SystemSharp.SysDOM.NopRemover</a></div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l02517">Algorithms.cs:2517</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_bb5e995590685548b7e11478911ee7c3.html">SystemSharp-Google-SVN</a></li><li class="navelem"><a class="el" href="dir_8deefa4467a62b572b52d238d562b104.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_0e5a72156f8560bbc472a395da2569d6.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_9d3c30b4336bd92c64ccf0aeee487ace.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_69d8a7302bcb7dce902a87e2ac33c28d.html">SysDOM</a></li><li class="navelem"><a class="el" href="_algorithms_8cs.html">Algorithms.cs</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:36 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
